87 lines
2.5 KiB
Terraform
87 lines
2.5 KiB
Terraform
resource "kubernetes_persistent_volume_claim_v1" "automatic-pvc" {
|
|
for_each = { for key, value in local.pvc_details : "${value.index}" => merge(value, { mew_key = value.index }) if value.pvc && value.existing_pvc != true && value.docker != true }
|
|
metadata {
|
|
namespace = coalesce(each.value.namespace, each.key)
|
|
name = "${each.value.name}-pvc"
|
|
labels = {
|
|
deployment_method = "Terraform"
|
|
}
|
|
annotations = {
|
|
fileType = try(each.value.annotations_fileType, "file")
|
|
}
|
|
|
|
}
|
|
|
|
spec {
|
|
access_modes = ["ReadWriteMany"]
|
|
storage_class_name = each.value.storage_class_name
|
|
resources {
|
|
requests = {
|
|
storage = each.value.pvc_size
|
|
}
|
|
}
|
|
}
|
|
}
|
|
resource "kubernetes_persistent_volume_claim_v1" "automatic-pvc-database" {
|
|
for_each = { for key, value in var.kubernetes : key => value if value.database != null && value.enabled == true && !(try(value.database.shunt, false)) && value.docker != true }
|
|
metadata {
|
|
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
|
|
name = "${each.key}-db-pvc"
|
|
labels = {
|
|
deployment_method = "Terraform"
|
|
}
|
|
}
|
|
spec {
|
|
access_modes = ["ReadWriteMany"]
|
|
storage_class_name = "nfs-storage-intelligent"
|
|
resources {
|
|
requests = {
|
|
storage = "1Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
resource "kubernetes_persistent_volume_claim_v1" "backup-pvc-database" {
|
|
for_each = { for key, value in var.kubernetes : key => value if value.database != null && value.enabled == true && value.docker != true }
|
|
metadata {
|
|
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
|
|
name = "${each.key}-db-backup"
|
|
labels = {
|
|
deployment_method = "Terraform"
|
|
}
|
|
annotations = {
|
|
fileType = "Backup" }
|
|
}
|
|
spec {
|
|
access_modes = ["ReadWriteMany"]
|
|
storage_class_name = "nfs-storage-fastaccess"
|
|
resources {
|
|
requests = {
|
|
storage = "1Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
resource "kubernetes_persistent_volume_claim_v1" "automatic-pvc-redis" {
|
|
for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true && value.docker != true }
|
|
metadata {
|
|
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
|
|
name = "${each.key}-redis-pvc"
|
|
labels = {
|
|
deployment_method = "Terraform"
|
|
}
|
|
}
|
|
spec {
|
|
access_modes = ["ReadWriteMany"]
|
|
storage_class_name = "nfs-storage-intelligent"
|
|
resources {
|
|
requests = {
|
|
storage = "1Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|