automatic pvc is working
This commit is contained in:
@@ -14,10 +14,15 @@ variable "kubernetes" {
|
||||
type = map(object({
|
||||
#service = string
|
||||
# pvc_name = optional(string)
|
||||
name = optional(string)
|
||||
image = string
|
||||
mount_path = optional(string, "/mount")
|
||||
pvc_size = optional(string)
|
||||
name = optional(string)
|
||||
image = string
|
||||
# mount_path = optional(string, "/mount")
|
||||
# pvc_size = optional(string)
|
||||
pvc = optional(map(object({
|
||||
name = string
|
||||
pvc_size = string
|
||||
mount_path = string
|
||||
})))
|
||||
replicas = optional(number, 1)
|
||||
namespace = optional(string)
|
||||
service_port = optional(number)
|
||||
@@ -41,7 +46,21 @@ variable "kubernetes" {
|
||||
|
||||
}
|
||||
|
||||
locals {
|
||||
pvc_details = flatten([
|
||||
for key, value in var.kubernetes : [
|
||||
for pvc in value.pvc : {
|
||||
name = pvc.name
|
||||
pvc_size = pvc.pvc_size
|
||||
mount_path = pvc.mount_path
|
||||
namespace = coalesce(value.namespace, key)
|
||||
}] if value.enabled == true && value.pvc != null
|
||||
])
|
||||
}
|
||||
|
||||
output "pvc_test" {
|
||||
value = { for key, value in local.pvc_details : key => value }
|
||||
}
|
||||
|
||||
resource "kubernetes_namespace" "automatic" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.enabled == true }
|
||||
@@ -55,10 +74,13 @@ resource "kubernetes_namespace" "automatic" {
|
||||
|
||||
|
||||
resource "kubernetes_persistent_volume_claim" "automatic-pvc" {
|
||||
for_each = { for key, value in var.kubernetes : key => value if value.pvc_size != null && value.enabled == true }
|
||||
## for_each = { for key, value in var.kubernetes : key => value if value.pvc_size != null && value.enabled == true }
|
||||
for_each = { for key, value in local.pvc_details : key => value }
|
||||
|
||||
metadata {
|
||||
namespace = coalesce(each.value.namespace, each.key)
|
||||
name = "${each.key}-pvc"
|
||||
# namespace = coalesce(each.value.namespace, each.key)
|
||||
namespace = each.value.namespace
|
||||
name = "${each.value.name}-pvc"
|
||||
}
|
||||
spec {
|
||||
access_modes = ["ReadWriteMany"]
|
||||
@@ -135,15 +157,15 @@ resource "kubernetes_deployment_v1" "automatic" {
|
||||
}
|
||||
}
|
||||
|
||||
dynamic "volume_mount" {
|
||||
for_each = each.value.pvc_size != null ? [""] : []
|
||||
content {
|
||||
# dynamic "volume_mount" {
|
||||
# for_each = each.value.pvc_size != null ? [""] : []
|
||||
# content {
|
||||
|
||||
mount_path = each.value.mount_path
|
||||
name = "${each.key}-volume"
|
||||
# mount_path = each.value.mount_path
|
||||
# name = "${each.key}-volume"
|
||||
|
||||
}
|
||||
}
|
||||
# }
|
||||
# }
|
||||
|
||||
|
||||
#########################################
|
||||
@@ -211,7 +233,8 @@ resource "kubernetes_deployment_v1" "automatic" {
|
||||
}
|
||||
|
||||
dynamic "volume" {
|
||||
for_each = each.value.pvc_size != null ? [""] : []
|
||||
for_each = each.value.pvc != null ? [""] : []
|
||||
# for_each = each.value.pvc_size != null ? [""] : []
|
||||
content {
|
||||
name = "${each.key}-volume"
|
||||
persistent_volume_claim {
|
||||
|
||||
Reference in New Issue
Block a user