64 lines
1.8 KiB
HCL
64 lines
1.8 KiB
HCL
locals {
|
|
maria-labels = merge(local.common_labels, {
|
|
"app.kubernetes.io/component" = "mariadb"
|
|
})
|
|
mariadb-password = data.kubernetes_secret_v1.prj_mariadb_secret.data["password"]
|
|
}
|
|
resource "kubectl_manifest" "prj_mariadb_secret" {
|
|
ignore_fields = ["metadata.annotations"]
|
|
yaml_body = <<-EOF
|
|
apiVersion: "secretgenerator.mittwald.de/v1alpha1"
|
|
kind: "StringSecret"
|
|
metadata:
|
|
name: "${var.instance}-${var.component}"
|
|
namespace: "${var.namespace}"
|
|
labels: ${jsonencode(local.maria-labels)}
|
|
spec:
|
|
forceRegenerate: false
|
|
data:
|
|
username: "${var.instance}"
|
|
fields:
|
|
- fieldName: "password"
|
|
length: "32"
|
|
- fieldName: "root-password"
|
|
length: "32"
|
|
EOF
|
|
}
|
|
data "kubernetes_secret_v1" "prj_mariadb_secret" {
|
|
depends_on = [ kubectl_manifest.prj_mariadb_secret ]
|
|
metadata {
|
|
name = "${var.instance}-${var.component}"
|
|
namespace = var.namespace
|
|
}
|
|
}
|
|
resource "kubectl_manifest" "prj_mariadb" {
|
|
yaml_body = <<-EOF
|
|
apiVersion: mariadb.mmontes.io/v1alpha1
|
|
kind: MariaDB
|
|
metadata:
|
|
name: "${var.instance}-${var.component}"
|
|
namespace: "${var.namespace}"
|
|
labels: ${jsonencode(local.maria-labels)}
|
|
spec:
|
|
image: "${var.images.mariadb.registry}/${var.images.mariadb.repository}:${var.images.mariadb.tag}"
|
|
imagePullPolicy: "${var.images.mariadb.pull_policy}"
|
|
rootPasswordSecretKeyRef:
|
|
key: root-password
|
|
name: "${var.instance}-${var.component}"
|
|
database: "${var.instance}"
|
|
username: "${var.instance}"
|
|
passwordSecretKeyRef:
|
|
key: password
|
|
name: "${var.instance}-${var.component}"
|
|
volumeClaimTemplate:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: "${var.storage}"
|
|
EOF
|
|
}
|
|
|
|
|
|
|