fix
This commit is contained in:
@@ -6,28 +6,34 @@ metadata:
|
|||||||
name: dataset-pg
|
name: dataset-pg
|
||||||
description: null
|
description: null
|
||||||
options:
|
options:
|
||||||
|
replicas:
|
||||||
|
default: 1
|
||||||
|
examples:
|
||||||
|
- 1
|
||||||
|
type: integer
|
||||||
storage:
|
storage:
|
||||||
default: 8Gi
|
default: 8Gi
|
||||||
examples:
|
examples:
|
||||||
- 8Gi
|
- 8Gi
|
||||||
type: string
|
type: string
|
||||||
extentions:
|
databases:
|
||||||
default:
|
default: []
|
||||||
pool:
|
items:
|
||||||
enable: false
|
properties:
|
||||||
examples:
|
name:
|
||||||
- pool:
|
default: db
|
||||||
enable: false
|
type: string
|
||||||
properties:
|
type: object
|
||||||
pool:
|
type: array
|
||||||
default:
|
roles:
|
||||||
enable: false
|
default: []
|
||||||
properties:
|
items:
|
||||||
enable:
|
properties:
|
||||||
default: false
|
name:
|
||||||
type: boolean
|
default: db
|
||||||
type: object
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
type: array
|
||||||
backups:
|
backups:
|
||||||
default:
|
default:
|
||||||
enable: false
|
enable: false
|
||||||
@@ -82,25 +88,23 @@ options:
|
|||||||
default: backup-settings
|
default: backup-settings
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
databases:
|
extentions:
|
||||||
default: []
|
default:
|
||||||
items:
|
pool:
|
||||||
properties:
|
enable: false
|
||||||
name:
|
|
||||||
default: db
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
replicas:
|
|
||||||
default: 1
|
|
||||||
examples:
|
examples:
|
||||||
- 1
|
- pool:
|
||||||
type: integer
|
enable: false
|
||||||
roles:
|
properties:
|
||||||
default: []
|
pool:
|
||||||
items:
|
default:
|
||||||
type: string
|
enable: false
|
||||||
type: array
|
properties:
|
||||||
|
enable:
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
dependencies: []
|
dependencies: []
|
||||||
providers:
|
providers:
|
||||||
kubernetes: true
|
kubernetes: true
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
locals {
|
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" {
|
resource "kubectl_manifest" "db_secret_role" {
|
||||||
@@ -9,13 +15,13 @@ resource "kubectl_manifest" "db_secret_role" {
|
|||||||
apiVersion: "secretgenerator.mittwald.de/v1alpha1"
|
apiVersion: "secretgenerator.mittwald.de/v1alpha1"
|
||||||
kind: "StringSecret"
|
kind: "StringSecret"
|
||||||
metadata:
|
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}"
|
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:
|
spec:
|
||||||
forceRegenerate: false
|
forceRegenerate: false
|
||||||
data:
|
data:
|
||||||
POSGRESQL_USERNAME: "${local.sorted-roles[count.index]}"
|
POSGRESQL_USERNAME: "${local.sorted-roles[count.index].name}"
|
||||||
fields:
|
fields:
|
||||||
- fieldName: "POSGRESQL_PASSWORD"
|
- fieldName: "POSGRESQL_PASSWORD"
|
||||||
length: "32"
|
length: "32"
|
||||||
@@ -26,7 +32,7 @@ data "kubernetes_secret_v1" "password_role_get" {
|
|||||||
depends_on = [ kubectl_manifest.db_secret_role ]
|
depends_on = [ kubectl_manifest.db_secret_role ]
|
||||||
count = length(local.sorted-roles)
|
count = length(local.sorted-roles)
|
||||||
metadata {
|
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}"
|
namespace = "${var.namespace}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -34,7 +40,7 @@ data "kubernetes_secret_v1" "password_role_get" {
|
|||||||
resource "postgresql_role" "role" {
|
resource "postgresql_role" "role" {
|
||||||
depends_on = [ kubectl_manifest.prj_pg ]
|
depends_on = [ kubectl_manifest.prj_pg ]
|
||||||
count = length(local.sorted-roles)
|
count = length(local.sorted-roles)
|
||||||
name = "${local.sorted-roles[count.index]}"
|
name = "${local.sorted-roles[count.index].name}"
|
||||||
login = true
|
login = true
|
||||||
password = data.kubernetes_secret_v1.password_role_get[count.index].data["POSGRESQL_PASSWORD"]
|
password = data.kubernetes_secret_v1.password_role_get[count.index].data["POSGRESQL_PASSWORD"]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user