infra/prod/main.tf (26 lines of code) (raw):
terraform {}
provider "vault" {
}
data "vault_generic_secret" "prod" {
path = "secret/observability-team/gcp-kubernetes-app/elastic-agent-prod"
}
# NOTE: if it's the first time you run this, some GCP APIs are being setup under the hood.
# When you enable a new API (aka `google_project_service`) there is a time frame (in
# minutes) in which the API is enabled but still not responding correctly.
# If you get a permission error, ensure all `google_project_service` have been created
# and wait some minutes.
provider "google" {
project = data.vault_generic_secret.prod.data["gcp_project_id"]
}
module "registry" {
source = "../modules/registry"
}
module "cluster" {
source = "../modules/cluster"
name = "elastic-agent-kubernetes-app"
}
output "gcp_project_id" {
value = data.vault_generic_secret.prod.data["gcp_project_id"]
sensitive = true
}
output "location" {
value = module.cluster.compute_zone
}
output "name" {
value = module.cluster.name
}