25 lines
619 B
Terraform
25 lines
619 B
Terraform
|
|
resource "random_password" "forgejo_public" {
|
||
|
|
length = 32
|
||
|
|
special = false
|
||
|
|
}
|
||
|
|
|
||
|
|
resource "postgresql_role" "forgejo_public" {
|
||
|
|
name = "forgejo_public"
|
||
|
|
login = true
|
||
|
|
password = random_password.forgejo_public.result
|
||
|
|
|
||
|
|
lifecycle {
|
||
|
|
ignore_changes = [password]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
resource "postgresql_database" "forgejo_public" {
|
||
|
|
name = "forgejo_public"
|
||
|
|
owner = postgresql_role.forgejo_public.name
|
||
|
|
}
|
||
|
|
|
||
|
|
resource "postgresql_grant_role" "vault_db_admin_forgejo_public" {
|
||
|
|
role = postgresql_role.vault_db_admin.name
|
||
|
|
grant_role = postgresql_role.forgejo_public.name
|
||
|
|
with_admin_option = true
|
||
|
|
}
|