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 }