Vagrant.configure("2") do |config|

  config.vm.synced_folder '.', '/vagrant', disabled: true

  config.vm.provider :google do |google, override|
    config.vm.box = "google/gce"

    google.google_project_id = "FIXME"
    google.service_account = "FIXME"
    google.google_json_key_location = "./gcp.json"

    google.image= "ubuntu-minimal-2404-noble-amd64-v20250923a"
    google.machine_type = "e2-micro"
    google.zone = "us-central1-a"

    override.ssh.username = "FIXME"
    override.ssh.private_key_path = "FIXME"
  end

  # --- executa 1 vez como administrador
  config.vm.provision "shell", inline: <<-SHELL
    apt update
    apt install -y curl
  SHELL

  # --- executa 1 vez como utilizador
  #
  # ficheiro com inicialização do DuckDB (CREATE SECRET da alinea 4, etc)
  config.vm.provision "file", source: "./inicializa.sql", destination: "~/"
  config.vm.provision "shell", privileged: false, inline: <<-SHELL
    # alinea 1
    curl https://install.duckdb.org | sh
    # alinea 4
    .duckdb/cli/latest/duckdb -batch -ascii lab4.db < inicializa.sql > inicializa.txt
  SHELL

  # --- executa sempre que arranca como utilizador
  #
  # ficheiro com o trabalho a executar (alinea 6)
  config.vm.provision "file", source: "./comandos.sql", destination: "~/"
  config.vm.provision "shell", run: "always", privileged: false, inline: <<-SHELL
    .duckdb/cli/latest/duckdb -batch -ascii lab4.db < comandos.sql > resultados.txt
  SHELL
end

