add all redis components except deployment

This commit is contained in:
2024-12-04 09:27:04 +00:00
parent 5baf51a9f2
commit 8f59210442
+41 -7
View File
@@ -35,12 +35,9 @@ variable "kubernetes" {
liveness_tcp_socket = optional(number) liveness_tcp_socket = optional(number)
liveness_http_get = optional(string) liveness_http_get = optional(string)
liveness_http_get_path = optional(string) liveness_http_get_path = optional(string)
database = optional(map(string)) database = optional(map(string))
# database = optional(map(object({ redis = optional(map(string))
# image = optional(string, "docker.io/library/postgres:latest") enabled = optional(bool, true)
# })), null)
redis = optional(map(string))
enabled = optional(bool, true)
requirements = optional(map(string), { requirements = optional(map(string), {
limits-cpu = "800m" limits-cpu = "800m"
limits-memory = "500Mi" limits-memory = "500Mi"
@@ -143,6 +140,25 @@ resource "kubernetes_persistent_volume_claim" "automatic-pvc-database" {
} }
} }
resource "kubernetes_persistent_volume_claim" "automatic-pvc-redis" {
for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true }
metadata {
namespace = each.value.namespace
name = "${each.key}-redis-pvc"
labels = {
deployment_method = "Terraform"
}
}
spec {
access_modes = ["ReadWriteMany"]
storage_class_name = "nfs-storage-intelligent"
resources {
requests = {
storage = "1Gi"
}
}
}
}
resource "kubernetes_service" "automatic_service" { resource "kubernetes_service" "automatic_service" {
for_each = { for key, value in var.kubernetes : key => value if value.service_port != null && value.enabled == true } for_each = { for key, value in var.kubernetes : key => value if value.service_port != null && value.enabled == true }
@@ -194,7 +210,25 @@ resource "kubernetes_service" "automatic_service_database" {
resource "kubernetes_service" "automatic_service_redis" {
for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true }
metadata {
name = "${each.key}-redis-svc"
namespace = coalesce(each.value.namespace, each.key)
labels = {
deployment_method = "Terraform"
}
}
spec {
selector = {
app = "${each.key}-redis"
}
port {
port = 6379
target_port = 6379
}
}
}