apiVersion: apps/v1
kind: Deployment
metadata:
  name: taiga-async-rabbitmq-deployment
  namespace: taiga
  labels:
    app.kubernetes.part-of: c4k-taiga
    app.kubernetes.io/component: taiga-async-rabbitmq
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/component: taiga-async-rabbitmq
  template: 
    metadata:
      labels:
        app.kubernetes.io/component: taiga-async-rabbitmq
    spec:
      containers:
      - name: taiga-async-rabbitmq
        image: rabbitmq:3.8-management-alpine
        imagePullPolicy: IfNotPresent
        ports:
        - name: amqp
          containerPort: 5672
        volumeMounts:
        - name: taiga-async-rabbitmq-data
          mountPath: /var/lib/rabbitmq
          readOnly: false
        env:
        - name: RABBITMQ_DEFAULT_USER
          valueFrom:
            secretKeyRef:
              name: taiga-secret
              key: RABBITMQ_USER
        - name: RABBITMQ_DEFAULT_PASS
          valueFrom:
            secretKeyRef:
              name: taiga-secret
              key: RABBITMQ_PASS
        - name: RABBITMQ_ERLANG_COOKIE
          valueFrom:
            secretKeyRef:
              name: taiga-secret
              key: RABBITMQ_ERLANG_COOKIE
        - name: RABBITMQ_DEFAULT_VHOST
          valueFrom:
            configMapKeyRef:
              name: taiga-configmap
              key: RABBITMQ_DEFAULT_VHOST
      
      volumes:
        - name: taiga-async-rabbitmq-data
          persistentVolumeClaim:
            claimName: taiga-async-rabbitmq-data