Declared Shared Subscriptions Configuration on HiveMQ Platform
This knowledge base article provides a guide for integrating declared-shared-subscriptions.xml into a HiveMQ deployment on Kubernetes without overriding the StatefulSet. The article outlines step-by-step instructions and necessary configurations to ensure smooth integration of the declared-shared-subscriptions.xml file into the HiveMQ configuration.
Prerequisites:
This article is created using the following:
kubernetes api 1.28
helm 3.1+
HiveMQ 4.28.0
hivemq/hivemq-platform-operator 0.2.5 1.3.0
hivemq/hivemq-platform 0.2.14 4.28.0
Instructions
Update values.yaml Configuration: Open the hivemq-platform’s values.yaml file and verify/update the following configurations:
config: create: false name: "my-config" overrideHiveMQConfig: ""
create: false
: Disable the creation of the default HiveMQ config.xml file.name: "my-config"
: Specify a custom name for the ConfigMap.overrideHiveMQConfig: ""
: Ensure that HiveMQ config is not overridden here.
Create Custom ConfigMap: Use the provided manifest
cm-my-config.yaml
to create a new ConfigMap namedmy-config
:kubectl apply -f cm-my-config.yaml
Deploy Updated HiveMQ: Deploy the updated HiveMQ platform with the modified values from the values.yaml file.
Verify Configuration: Confirm the presence of
declared-shared-subscriptions.xml
in the/opt/hivemq/conf-k8s/
directory within the HiveMQ pods:kubectl exec pods/my-hivemq-0 -c hivemq -- \ ls -la conf-k8s/declared-shared-subscriptions.xml
Check hivemq.log: Ensure that the
hivemq.log
records the inclusion of Declared shared subscriptions:Future Configuration Updates: For any future configuration updates, modify the
cm-my-config.yaml
manifest and apply the changes using:This ensures that alterations to the ConfigMap are recognized, and updates are applied in a rolling manner by the operator.
By following these outlined steps, users can seamlessly integrate declared-shared-subscriptions.xml
into their HiveMQ deployment on Kubernetes, ensuring efficient management and operation of MQTT broker configurations.