From 7ee45b451e4060fc0a1a27f2ab09f35791f2da05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Trkan?= Date: Sun, 5 Oct 2025 22:13:07 +0200 Subject: [PATCH] feat(infrastructure): update rabbitmq env --- 7project/charts/myapp-chart/values.yaml | 3 +-- 7project/tofu/modules/rabbitmq/main.tf | 27 +++++++++++++++++++ .../tofu/modules/rabbitmq/rabbit-cluster.yaml | 5 ++++ 7project/tofu/modules/rabbitmq/rabbit-ui.yaml | 2 +- 7project/tofu/modules/rabbitmq/variables.tf | 12 ++++++--- 5 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 7project/tofu/modules/rabbitmq/rabbit-cluster.yaml diff --git a/7project/charts/myapp-chart/values.yaml b/7project/charts/myapp-chart/values.yaml index 55e121d..912d809 100644 --- a/7project/charts/myapp-chart/values.yaml +++ b/7project/charts/myapp-chart/values.yaml @@ -37,9 +37,8 @@ rabbitmq: port: "5672" username: demo-app password: "" - # Existing cluster identification for Messaging Topology CRDs namespace: rabbitmq - clusterName: rabbitmq + clusterName: rabbitmq-cluster vhost: "/" mariadb: diff --git a/7project/tofu/modules/rabbitmq/main.tf b/7project/tofu/modules/rabbitmq/main.tf index a752bed..d104703 100644 --- a/7project/tofu/modules/rabbitmq/main.tf +++ b/7project/tofu/modules/rabbitmq/main.tf @@ -1,5 +1,9 @@ terraform { required_providers { + kubectl = { + source = "gavinbunney/kubectl" + version = "1.19.0" + } helm = { source = "hashicorp/helm" version = "3.0.2" # Doporučuji použít novější verzi providera @@ -56,3 +60,26 @@ resource "helm_release" "rabbitmq_operator" { } ] } + + + +resource "kubectl_manifest" "rabbitmq_cluster" { + yaml_body = templatefile("${path.module}/rabbit-cluster.yaml", { + replicas = var.rabbitmq_replicas + password = var.rabbitmq-password + }) + + depends_on = [ + helm_release.rabbitmq_operator + ] +} + +resource "kubectl_manifest" "rabbit_ui" { + yaml_body = templatefile("${path.module}/rabbit-ui.yaml", { + base_domain = var.base_domain + }) + + depends_on = [ + kubectl_manifest.rabbitmq_cluster + ] +} diff --git a/7project/tofu/modules/rabbitmq/rabbit-cluster.yaml b/7project/tofu/modules/rabbitmq/rabbit-cluster.yaml new file mode 100644 index 0000000..8bd8d95 --- /dev/null +++ b/7project/tofu/modules/rabbitmq/rabbit-cluster.yaml @@ -0,0 +1,5 @@ +apiVersion: rabbitmq.com/v1beta1 +kind: RabbitmqCluster +metadata: + name: 'rabbitmq-cluster' + namespace: "rabbitmq" diff --git a/7project/tofu/modules/rabbitmq/rabbit-ui.yaml b/7project/tofu/modules/rabbitmq/rabbit-ui.yaml index d40f53e..a547e3f 100644 --- a/7project/tofu/modules/rabbitmq/rabbit-ui.yaml +++ b/7project/tofu/modules/rabbitmq/rabbit-ui.yaml @@ -6,7 +6,7 @@ metadata: subjects: - name: rabbit-gui spec: - target: http://rabbitmq.rabbitmq.svc.cluster.local:15672 + target: http://rabbitmq-cluster.rabbitmq.svc.cluster.local:15672 fqdn: rabbitmq.${base_domain} noTlsVerify: true tunnelRef: diff --git a/7project/tofu/modules/rabbitmq/variables.tf b/7project/tofu/modules/rabbitmq/variables.tf index 80199de..96850bd 100644 --- a/7project/tofu/modules/rabbitmq/variables.tf +++ b/7project/tofu/modules/rabbitmq/variables.tf @@ -4,8 +4,14 @@ variable "base_domain" { } variable "rabbitmq-password" { - type = string - nullable = false - sensitive = true + type = string + nullable = false + sensitive = true description = "Admin password for RabbitMQ user" } + +variable "rabbitmq_replicas" { + type = number + description = "Number of replicas for the RabbitMQ cluster" + default = 1 +}