Files
domain/share/authentik/postgresql.tf
2023-08-08 17:51:34 +02:00

48 lines
1.2 KiB
HCL

locals {
pg-labels = merge(local.common-labels, {
"app.kubernetes.io/component" = "pg"
})
pool-labels = merge(local.common-labels, {
"app.kubernetes.io/component" = "pg-pool"
})
}
resource "kubectl_manifest" "prj_pg" {
depends_on = [kubectl_manifest.prj_pre_migrate_pg]
yaml_body = <<-EOF
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: "${var.instance}-${var.component}-pg"
namespace: "${var.namespace}"
labels: ${jsonencode(local.pg-labels)}
spec:
instances: ${var.postgres.replicas}
storage:
size: "${var.postgres.storage}"
EOF
}
resource "kubectl_manifest" "prj_pg_pool" {
depends_on = [kubectl_manifest.prj_pg]
yaml_body = <<-EOF
apiVersion: postgresql.cnpg.io/v1
kind: Pooler
metadata:
name: "${var.instance}-${var.component}-pool"
namespace: "${var.namespace}"
labels: ${jsonencode(local.pool-labels)}
spec:
cluster:
name: "${var.instance}-${var.component}-pg"
instances: 1
type: rw
pgbouncer:
poolMode: session
parameters:
max_client_conn: "1000"
default_pool_size: "10"
EOF
}