ESE Configuration in a ConfigMap

HiveMQ extensions are configured with configuration XML files. To allow the HiveMQ Kubernetes Operator to manage the extension configuration files, you must provide the extension configuration XML in a ConfigMap.

 Instructions

The following procedure shows you how to place the enterprise-security-extension.xml into a ConfigMap that a HiveMQ Cluster configuration references.

  1. Prepare an example configuration XML file enterprise-security-extension.xml

    <?xml version="1.0" encoding="UTF-8" ?> <enterprise-security-extension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="enterprise-security-extension.xsd" version="1"> <pipelines> <listener-pipeline listener="ALL"> <allow-all-authentication-manager/> <allow-all-authorization-manager/> </listener-pipeline> </pipelines> </enterprise-security-extension>
  2. Create the ConfigMap with name eseconfig:

    kubectl create configmap 'eseconfig' --from-file=enterprise-security-extension.xml \ --namespace ${namespace}
  3. Update the HiveMQ Cluster configuration in hivemq.extensions section of your values.yaml file. Add the key:

    configMap: eseconfig

    Example values.yaml:

  4. Install HiveMQ Operator using your my-values.yaml file:

  5. HiveMQ Kubernetes Operator will automatically add configmap eseconfig to the hivemq pod as a volume eseconfig. Volume eseconfig will be mounted to the hivemq container as directory /conf-override/extensions/hivemq-enterprise-security-extension. The initialization script will then create a symbolic link to the configuration file in the correct directory:

HiveMQ Kubernetes Operator will automatically handle only ConfigMap, not a Secret. For a configuration with a Secret refer to the article https://hivemq.atlassian.net/wiki/spaces/KB/pages/2447573115.

 Related articles