diff --git a/apps/taiga/rabbitmq.tf b/apps/taiga/rabbitmq.tf index c0e9ff7..eb0d9b3 100644 --- a/apps/taiga/rabbitmq.tf +++ b/apps/taiga/rabbitmq.tf @@ -20,3 +20,48 @@ resource "kubectl_manifest" "rabbit" { memory: "${var.rabbitmq.requests.memory}" EOF } + +resource "kubectl_manifest" "rabbit_vhost" { + yaml_body = <<-EOF + apiVersion: rabbitmq.com/v1beta1 + kind: Vhost + metadata: + name: "${var.instance}-${var.component}-taiga" + namespace: "${var.namespace}" + labels: ${jsonencode(local.rabbitmq_labels)} + spec: + name: taiga + rabbitmqClusterReference: + name: ${kubectl_manifest.rabbit.name} + EOF +} + +resource "kubectl_manifest" "rabbit_user" { + yaml_body = <<-EOF + apiVersion: rabbitmq.com/v1beta1 + kind: User + metadata: + name: "${var.instance}-${var.component}-taiga" + namespace: "${var.namespace}" + labels: ${jsonencode(local.rabbitmq_labels)} + spec: + tags: ["administrator"] + importCredentialsSecret: + name: ${kubectl_manifest.rabbit_user_secret.name} + rabbitmqClusterReference: + name: ${kubectl_manifest.rabbit.name} + EOF +} + + + +apiVersion: rabbitmq.com/v1beta1 +kind: User +metadata: + name: import-user-sample +spec: + tags: ["administrator"] + rabbitmqClusterReference: + name: test # rabbitmqCluster must exist in the same namespace as this resource + importCredentialsSecret: + name: credentials-secret \ No newline at end of file diff --git a/apps/taiga/taiga_ConfigMap.tf b/apps/taiga/taiga_ConfigMap.tf index 3e360b9..bc8af22 100644 --- a/apps/taiga/taiga_ConfigMap.tf +++ b/apps/taiga/taiga_ConfigMap.tf @@ -14,6 +14,7 @@ resource "kubectl_manifest" "cm_env_back" { TAIGA_SITES_DOMAIN: ${local.dns_name} TAIGA_SITES_SCHEME: https TAIGA_ASYNC_RABBITMQ_HOST: ${kubectl_manifest.rabbit.name} + TAIGA_EVENTS_RABBITMQ_HOST: ${kubectl_manifest.rabbit.name} SESSION_COOKIE_SECURE: "False" CSRF_COOKIE_SECURE: "False" ENABLE_TELEMETRY: "False" diff --git a/apps/taiga/taiga_Secret.tf b/apps/taiga/taiga_Secret.tf index a80cd01..c106f27 100644 --- a/apps/taiga/taiga_Secret.tf +++ b/apps/taiga/taiga_Secret.tf @@ -3,6 +3,11 @@ resource "random_password" "system" { special = false } +resource "random_password" "rabbit" { + length = 32 + special = false +} + resource "kubectl_manifest" "secret" { yaml_body = <<-EOF apiVersion: v1 @@ -16,3 +21,18 @@ resource "kubectl_manifest" "secret" { TAIGA_SECRET_KEY: "${random_password.system.result}" EOF } + +resource "kubectl_manifest" "rabbit_user_secret" { + yaml_body = <<-EOF + apiVersion: v1 + kind: Secret + metadata: + name: "${var.instance}-${var.component}-rabbitmq-taiga" + labels: ${jsonencode(local.common_labels)} + namespace: ${var.namespace} + type: Opaque + stringData: + username: taiga + password: "${random_password.rabbit.result}" +EOF +} diff --git a/apps/taiga/taiga_workload.tf b/apps/taiga/taiga_workload.tf index 7c5c5bd..370f25e 100644 --- a/apps/taiga/taiga_workload.tf +++ b/apps/taiga/taiga_workload.tf @@ -27,12 +27,12 @@ resource "kubectl_manifest" "Deployment_taiga-events" { - name: RABBITMQ_USER valueFrom: secretKeyRef: - name: ${kubectl_manifest.rabbit.name}-default-user + name: ${kubectl_manifest.rabbit_user_secret.name} key: username - name: RABBITMQ_PASS valueFrom: secretKeyRef: - name: ${kubectl_manifest.rabbit.name}-default-user + name: ${kubectl_manifest.rabbit_user_secret.name} key: password ports: - name: taiga-events @@ -185,12 +185,12 @@ resource "kubectl_manifest" "Deployment_taiga-back" { - name: RABBITMQ_USER valueFrom: secretKeyRef: - name: ${kubectl_manifest.rabbit.name}-default-user + name: ${kubectl_manifest.rabbit_user_secret.name} key: username - name: RABBITMQ_PASS valueFrom: secretKeyRef: - name: ${kubectl_manifest.rabbit.name}-default-user + name: ${kubectl_manifest.rabbit_user_secret.name} key: password - name: GITLAB_API_CLIENT_ID value: gitlab-api-client-id @@ -243,12 +243,12 @@ resource "kubectl_manifest" "Deployment_taiga-back" { - name: RABBITMQ_USER valueFrom: secretKeyRef: - name: ${kubectl_manifest.rabbit.name}-default-user + name: ${kubectl_manifest.rabbit_user_secret.name} key: username - name: RABBITMQ_PASS valueFrom: secretKeyRef: - name: ${kubectl_manifest.rabbit.name}-default-user + name: ${kubectl_manifest.rabbit_user_secret.name} key: password - name: POSTGRES_PASSWORD valueFrom: