Skip to main content
Version: Deploy 24.3

Using an External Message Queue

If you plan to use an external message queue, instead of the RabbitMQ provided with the operator—you must configure the relevant parameters in the external-mq-patch.yaml file.

This document describes how to change configuration on the existing Deploy installation. If you are doing initial installation, check the document Using an Existing Message Queue

Steps to Configure an External Message Queue after Installation

  1. Prepare the external message queue configuration.

    spec:
    external:
    mq:
    enabled: true
    url: "amqp://rabbitmq-test1.default.svc.cluster.local:5672"
    queueName: ""
    username: "user"
    password: "password"
    driverClassName: "com.rabbitmq.jms.admin.RMQConnectionFactory"
    rabbitmq:
    install: false
  2. Remove the configuration files from the central configuration pod so the configuration can be replaced

Note: This step is only necessary if you have /opt/xebialabs/central-configuration-server/centralConfiguration folder mounted as a persistent volume. Starting from version 24.1 and later, this is no longer the default option.

kubectl exec -it sts/dai-xld-digitalai-deploy-cc-server -n digitalai \
-- rm /opt/xebialabs/central-configuration-server/centralConfiguration/deploy-task.yaml
  1. Update the message queue configuration in Deploy.
kubectl patch -n digitalai digitalaideploys.xld.digital.ai dai-xld \
--type=merge --patch-file external-mq-patch.yaml
  1. Restart the Deploy pods.
kubectl delete sts dai-xld-digitalai-deploy-master -n digitalai
kubectl delete sts dai-xld-digitalai-deploy-worker -n digitalai
  1. The CR yaml file will now have a new external.mq section.
kubectl get Digitalaideploys dai-xld -o yaml -n digitalai
  1. The restarted pod process will now use the new configuration. central configuration pod
kubectl exec -it sts/dai-xld-digitalai-deploy-cc-server -n digitalai \
-- cat /opt/xebialabs/central-configuration-server/centralConfiguration/deploy-task.yaml