From 8f59210442f504d9082dbbe83fa29da2d4f2cb30 Mon Sep 17 00:00:00 2001 From: pierre Date: Wed, 4 Dec 2024 09:27:04 +0000 Subject: [PATCH] add all redis components except deployment --- module.tf | 48 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/module.tf b/module.tf index 78d9d7e..8bbc477 100644 --- a/module.tf +++ b/module.tf @@ -35,12 +35,9 @@ variable "kubernetes" { liveness_tcp_socket = optional(number) liveness_http_get = optional(string) liveness_http_get_path = optional(string) - database = optional(map(string)) -# database = optional(map(object({ -# image = optional(string, "docker.io/library/postgres:latest") -# })), null) - redis = optional(map(string)) - enabled = optional(bool, true) + database = optional(map(string)) + redis = optional(map(string)) + enabled = optional(bool, true) requirements = optional(map(string), { limits-cpu = "800m" 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" { 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 + } + } +}