quorate/terraform/internal/postgres/forgejo.tf

26 lines
642 B
Terraform
Raw Normal View History

resource "random_password" "forgejo" {
length = 32
special = false
}
resource "postgresql_role" "forgejo" {
name = "forgejo"
login = true
password = random_password.forgejo.result
lifecycle {
ignore_changes = [password]
}
}
resource "postgresql_database" "forgejo" {
name = "forgejo"
owner = postgresql_role.forgejo.name
}
# Allows vault_db_admin to ALTER ROLE forgejo PASSWORD '...' for credential rotation.
resource "postgresql_grant_role" "vault_db_admin_forgejo" {
role = postgresql_role.vault_db_admin.name
grant_role = postgresql_role.forgejo.name
with_admin_option = true
}