infracloud/archives/invista-nexus_Fix-Unauthorized/modules/postgresql/postgresql_vault-secret.tf
2026-03-09 15:02:41 -03:00

34 lines
No EOL
1 KiB
HCL

resource "random_integer" "suffix" {
min = 1000
max = 9999
# Opcional: O 'keepers' força a geração de um novo número
# apenas quando o nome do cluster mudar.
keepers = {
cluster_name = var.postgresql_name
}
}
# 1. Gera uma senha forte e aleatória (16 caracteres, com letras, números e símbolos)
resource "random_password" "psql_admin_password" {
length = 32
special = true
# Evita aspas ou caracteres que possam quebrar strings de conexão no futuro
override_special = "!#$%&*-_=+[]{}<>:?"
}
# 2. Cria a Secret dentro do Vault que você já tem
resource "oci_vault_secret" "psql_admin_secret" {
compartment_id = var.postgresql_compartment_id
vault_id = var.vault_id
key_id = var.master_key_id
secret_name = "admin-pwd-psql-${var.postgresql_name}-${random_integer.suffix.result}"
description = "Senha do admin do PostgreSQL gerenciado"
secret_content {
content_type = "BASE64"
content = base64encode(random_password.psql_admin_password.result)
}
}