Files
domain/apps/taiga/rabbitmq.tf
2024-05-27 11:57:08 +02:00

74 lines
2.1 KiB
HCL

resource "kubectl_manifest" "rabbit" {
yaml_body = <<-EOF
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
name: "${var.instance}-${var.component}-rabbitmq"
namespace: "${var.namespace}"
labels: ${jsonencode(local.rabbitmq_labels)}
spec:
image: "${var.images.rabbit.registry}/${var.images.rabbit.repository}:${var.images.rabbit.tag}"
persistence:
storage: "${var.storage.rabbitmq.size}"
replicas: ${var.rabbitmq.replicas}
resources:
limits:
cpu: "${var.rabbitmq.limits.cpu}"
memory: "${var.rabbitmq.limits.memory}"
requests:
cpu: "${var.rabbitmq.requests.cpu}"
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
}
resource "kubectl_manifest" "rabbit_perm" {
yaml_body = <<-EOF
apiVersion: rabbitmq.com/v1beta1
kind: Permission
metadata:
name: "${var.instance}-${var.component}-taiga"
namespace: "${var.namespace}"
labels: ${jsonencode(local.rabbitmq_labels)}
spec:
vhost: "taiga"
user: "taiga"
permissions:
write: ".*"
configure: ".*"
read: ".*"
rabbitmqClusterReference:
name: ${kubectl_manifest.rabbit.name}
EOF
}