diff --git a/module.tf b/module.tf index 60f06d4..8371e63 100644 --- a/module.tf +++ b/module.tf @@ -17,6 +17,7 @@ variable "kubernetes" { mount_path = string # database = optional(bool,false) }))) + secret = optional(map(string)) environment = optional(map(object({ name = optional(string) value = optional(string) @@ -38,6 +39,8 @@ variable "kubernetes" { database = optional(map(string)) redis = optional(map(string)) enabled = optional(bool, true) + secret_ref = optional(list(string)) + configmap_ref = optional(list(string)) requirements = optional(map(string), { limits-cpu = "800m" limits-memory = "500Mi" @@ -100,6 +103,28 @@ resource "kubernetes_namespace" "automatic" { depends_on = [data.kubernetes_all_namespaces.allns] } +#resource "kubernetes_secret" "automatic-secret" { +# for_each = { for key, value in var.kubernetes : key => value if value.enabled == true && value.secret != null } +# metadata { +# #name = "secret-next" +# name = "${coalesce(each.value.name, each.key)}-secret" +# namespace = "next" +# } + +# data = { + +# #each.value.secret + +# POSTGRES_DB = "nextcloud" +# # POSTGRES_PASSWORD = "nextcloud" +# # POSTGRES_USER = "nextcloud" +# # PI_USER_USERNAME = "pi" +# # PI_USER_PASSWORD = "test"# +# # POSTGRES_HOST = "next-db-svc" + +# } + +#} resource "kubernetes_persistent_volume_claim" "automatic-pvc" { for_each = { for key, value in local.pvc_details : "${value.index}" => merge(value, { mew_key = value.index }) if value.index != "database" } @@ -282,7 +307,17 @@ resource "kubernetes_deployment_v1" "automatic" { } - + dynamic "env_from" { + for_each = each.value.secret_ref != null ? each.value.secret_ref : [] + content { + dynamic "secret_ref" { + for_each = [1] + content { + name = env_from.value + } + } + } + } dynamic "env" { for_each = each.value.environment != null ? each.value.environment : {} @@ -295,9 +330,9 @@ resource "kubernetes_deployment_v1" "automatic" { dynamic "secret_key_ref" { for_each = [1] content { - name = env.value.value_from.secret_key_ref.name - key = env.value.value_from.secret_key_ref.key -# optional = true + name = env.value.value_from.secret_key_ref.name + key = env.value.value_from.secret_key_ref.key + # optional = true } } } @@ -425,9 +460,9 @@ resource "kubernetes_deployment_v1" "database-automatic" { dynamic "secret_key_ref" { for_each = [1] content { - name = env.value.value_from.secret_key_ref.name - key = env.value.value_from.secret_key_ref.key - # optional = true + name = env.value.value_from.secret_key_ref.name + key = env.value.value_from.secret_key_ref.key + # optional = true } } } @@ -550,9 +585,9 @@ resource "kubernetes_deployment_v1" "redis-automatic" { dynamic "secret_key_ref" { for_each = [1] content { - name = env.value.value_from.secret_key_ref.name - key = env.value.value_from.secret_key_ref.key - # optional = true + name = env.value.value_from.secret_key_ref.name + key = env.value.value_from.secret_key_ref.key + # optional = true } } }