2 Commits
2 changed files with 86 additions and 50 deletions
+19 -1
View File
@@ -22,6 +22,7 @@ variable "kubernetes" {
annotations_fileType = optional(string)
existing_pvc = optional(bool, false)
mount_path = string
sub_path = optional(string)
})))
environment = optional(map(object({
name = optional(string)
@@ -65,9 +66,10 @@ variable "kubernetes" {
}
locals {
pvc_details = flatten([
pvc_list = flatten([
for key, value in var.kubernetes : [
for index, pvc in value.pvc : {
key = "${coalesce(value.namespace, value.connected_namespace, key)}/${pvc.name}"
index = index
pvc = pvc.pvc
name = pvc.name
@@ -76,9 +78,24 @@ locals {
storage_class_name = pvc.storage_class_name
annotations_fileType = pvc.annotations_fileType
existing_pvc = pvc.existing_pvc
sub_path = pvc.sub_path
namespace = coalesce(value.namespace, value.connected_namespace, key)
}] if value.enabled == true && value.pvc != null
])
# group duplicates instead of throwing an error
pvc_map_grouped = {
for p in local.pvc_list :
p.key => p...
}
# keep only one PVC per key (take the first)
pvc_map = {
for k, list in local.pvc_map_grouped :
k => list[0]
}
pvc_details = values(local.pvc_map)
}
locals {
@@ -332,6 +349,7 @@ resource "kubernetes_deployment_v1" "automatic" {
content {
mount_path = volume_mount.value.mount_path
name = "${volume_mount.value.name}-pvc"
sub_path = volume_mount.value.sub_path != null ? volume_mount.value.sub_path : ""
}
}
+54 -36
View File
@@ -2082,84 +2082,102 @@ kubernetes = {
}
bitwardent = {
enabled = false
bitwarden-admin = {
#enabled = false
namespace = "bitwardent"
replicas = 0
name = "bitwarden-admin"
image = "bitwarden/admin:2024.5.0"
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/config.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/global.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/global.override.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/kube-root-ca.crt.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/mssql.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/mssql.override.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/uid.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/bitwarden-identity-cert-password.secret.yml"]
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/config.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/global.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/global.override.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/mssql.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/mssql.override.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/uid.env.configmap.yml", "/opt/kubernetes/Terraform_kube/external_manifests/bitwarden/bitwarden-identity-cert-password.secret.yml"]
service_port = [5000]
config_map_ref = ["global.env","uid.env","global.override.env"]
environment = {}
pvc = {
bitwarden-ca-certificates = {
pvc = true
pvc_size = "2Mi"
mount_path = "/config"
mount_path = "/etc/bitwarden/ca-certificates"
name = "bitwarden-ca-certificates"
}
bitwarden-core = {
pvc = true
pvc_size = "2Mi"
mount_path = "/config"
mount_path = "/etc/bitwarden/core"
name = "bitwarden-core"
}
bitwarden-identity = {
pvc = true
pvc_size = "2Mi"
mount_path = "/config"
name = "bitwarden-identity"
}
bitwarden-letsencrypt = {
pvc = true
pvc_size = "2Mi"
mount_path = "/config"
name = "bitwarden-letsencrypt"
}
bitwarden-logs = {
pvc = true
pvc_size = "2Mi"
mount_path = "/config"
mount_path = "/etc/bitwarden/logs"
name = "bitwarden-logs"
sub_path = "admin"
}
bitwarden-mssql = {
}
}
bitwarden-api = {
#enabled = false
connected_namespace = "bitwardent"
replicas = 0
name = "bitwarden-api"
image = "gitea.tryton.geeraert.eu/pi-ux-ce/bitbetter_api:2024.5.0"
service_port = [5000]
config_map_ref = ["global.env","uid.env","global.override.env"]
environment = {}
pvc = {
bitwarden-ca-certificates = {
pvc = true
pvc_size = "2Mi"
mount_path = "/config"
name = "bitwarden-mssql"
mount_path = "/etc/bitwarden/ca-certificates"
name = "bitwarden-ca-certificates"
}
bitwarden-nginx = {
bitwarden-core = {
pvc = true
pvc_size = "2Mi"
mount_path = "/config"
name = "bitwarden-nginx"
mount_path = "/etc/bitwarden/core"
name = "bitwarden-core"
}
bitwarden-ssl = {
bitwarden-logs = {
pvc = true
pvc_size = "2Mi"
mount_path = "/config"
name = "bitwarden-ssl"
mount_path = "/etc/bitwarden/logs"
name = "bitwarden-logs"
sub_path = "api"
}
bitwarden-web = {
}
}
bitwarden-attachments = {
#enabled = false
connected_namespace = "bitwardent"
replicas = 0
name = "bitwarden-attachments"
image = "bitwarden/attachments:2024.5.0"
service_port = [5000]
config_map_ref = ["global.env","uid.env"]
environment = {}
pvc = {
bitwarden-core = {
pvc = true
pvc_size = "2Mi"
mount_path = "/config"
name = "bitwarden-web"
mount_path = "/etc/bitwarden/core/attachments"
name = "bitwarden-core"
sub_path = "attachments"
}
}
}
sharelatex = {
enabled = false
image = "sharelatex/sharelatex"