From 0079b399d31d01766871ecdb65ba71834cb8d679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Huss?= Date: Sat, 7 Oct 2023 23:18:55 +0200 Subject: [PATCH] fix --- share/dataset-pg/index.yaml | 74 +++++++++++++++++++------------------ share/dataset-pg/roles.tf | 18 ++++++--- 2 files changed, 51 insertions(+), 41 deletions(-) diff --git a/share/dataset-pg/index.yaml b/share/dataset-pg/index.yaml index 3616a22..0fbf259 100644 --- a/share/dataset-pg/index.yaml +++ b/share/dataset-pg/index.yaml @@ -6,28 +6,34 @@ metadata: name: dataset-pg description: null options: + replicas: + default: 1 + examples: + - 1 + type: integer storage: default: 8Gi examples: - 8Gi type: string - extentions: - default: - pool: - enable: false - examples: - - pool: - enable: false - properties: - pool: - default: - enable: false - properties: - enable: - default: false - type: boolean - type: object - type: object + databases: + default: [] + items: + properties: + name: + default: db + type: string + type: object + type: array + roles: + default: [] + items: + properties: + name: + default: db + type: string + type: object + type: array backups: default: enable: false @@ -82,25 +88,23 @@ options: default: backup-settings type: string type: object - databases: - default: [] - items: - properties: - name: - default: db - type: string - type: object - type: array - replicas: - default: 1 + extentions: + default: + pool: + enable: false examples: - - 1 - type: integer - roles: - default: [] - items: - type: string - type: array + - pool: + enable: false + properties: + pool: + default: + enable: false + properties: + enable: + default: false + type: boolean + type: object + type: object dependencies: [] providers: kubernetes: true diff --git a/share/dataset-pg/roles.tf b/share/dataset-pg/roles.tf index e7b1d08..d60a59c 100644 --- a/share/dataset-pg/roles.tf +++ b/share/dataset-pg/roles.tf @@ -1,5 +1,11 @@ locals { - sorted-roles = reverse(distinct(sort(var.roles))) + sorted-roles-name = reverse(distinct(sort(var.roles.name))) + sorted-roles = flatten([ + for name in local.sorted-roles-name: [ + for r in var.roles: + r if r.name == name + ] + ]) } resource "kubectl_manifest" "db_secret_role" { @@ -9,13 +15,13 @@ resource "kubectl_manifest" "db_secret_role" { apiVersion: "secretgenerator.mittwald.de/v1alpha1" kind: "StringSecret" metadata: - name: "${var.instance}-${var.component}-role-${local.sorted-roles[count.index]}" + name: "${var.instance}-${var.component}-role-${local.sorted-roles[count.index].name}" namespace: "${var.namespace}" - labels: ${jsonencode(merge(local.common-labels, {"app.kubernetes.io/component" = local.sorted-roles[count.index]}))} + labels: ${jsonencode(merge(local.common-labels, {"app.kubernetes.io/component" = local.sorted-roles[count.index].name}))} spec: forceRegenerate: false data: - POSGRESQL_USERNAME: "${local.sorted-roles[count.index]}" + POSGRESQL_USERNAME: "${local.sorted-roles[count.index].name}" fields: - fieldName: "POSGRESQL_PASSWORD" length: "32" @@ -26,7 +32,7 @@ data "kubernetes_secret_v1" "password_role_get" { depends_on = [ kubectl_manifest.db_secret_role ] count = length(local.sorted-roles) metadata { - name = "${var.instance}-${var.component}-role-${local.sorted-roles[count.index]}" + name = "${var.instance}-${var.component}-role-${local.sorted-roles[count.index].name}" namespace = "${var.namespace}" } } @@ -34,7 +40,7 @@ data "kubernetes_secret_v1" "password_role_get" { resource "postgresql_role" "role" { depends_on = [ kubectl_manifest.prj_pg ] count = length(local.sorted-roles) - name = "${local.sorted-roles[count.index]}" + name = "${local.sorted-roles[count.index].name}" login = true password = data.kubernetes_secret_v1.password_role_get[count.index].data["POSGRESQL_PASSWORD"] }