HiveMQ Platform Operator for Kubernetes 1.1.0 Release

HiveMQ Platform Operator for Kubernetes 1.1.0 Release

author HiveMQ Team

Written by HiveMQ Team

Category: HiveMQ Platform Operator for Kubernetes

Published: November 30, 2023

The HiveMQ team is excited to announce the availability of the HiveMQ Platform Operator for Kubernetes 1.1.0. This release expands error detection and reporting for your HiveMQ deployments and adds eagerly anticipated authenticated downloads for custom extensions and transformers. Our current update also provides useful bug fixes and numerous usability improvements.

Highlights

  • Error detection for invalid HiveMQ Platform configurations.
  • Authenticated download for custom extensions and transformers.
  • Numerous small fixes and improvements.

Error Detection

To safeguard the continuous availability of your HiveMQ platform deployments, the HiveMQ Platform Operator for Kubernetes now prevents startup when an incorrect configuration is detected in your HiveMQ cluster configuration.

Additionally, the operator alerts you to HiveMQ configuration errors via Kubernetes events and updates your HiveMQ Platform Custom Resource status accordingly.

How it works

When you make changes to a HiveMQ cluster configuration, the HiveMQ Platform Operator automatically initiates a rolling restart of the cluster to handle the change. If an invalid configuration is detected, the new operator immediately stops the rolling restart without applying the changes. Configuration errors are reported as Kubernetes events and immediately reflected in the HiveMQ Platform Custom Resource status. This ensures your cluster remains stable while giving you the quickest possible feedback to address the issue.

In this case, the HiveMQ platform cluster continues to operate normally with the previous valid configuration and original nodes. Once errors in the configuration are resolved, the operator will resume the rolling restart.

The following command displays the current status of the HiveMQ Platform Custom Resource along with any applicable error message:

1
kubectl get hmqp <your-hivemq-platform-name> -o yaml

Authenticated Downloads

HiveMQ Enterprise Extensions ship preinstalled in every HiveMQ platform bundle. Naturally, the HiveMQ Platform Operator supports the configuration and management of all HiveMQ Enterprise Extensions straight out of the box. In addition to enterprise extensions, many HiveMQ customers leverage our powerful extension framework to create custom extensions and customizations that can be loaded from an HTTP URL. The HiveMQ Platform Operator 1.1.0 adds support for the secure download of custom extensions and transformers, ensuring you can utilize custom components while maintaining Enterprise security standards.

How it works

The 1.1.0 release of the HiveMQ Platform Operator gives you the ability to configure secure downloads for custom extensions. Authentication information is taken from the configured Kubernetes secret that contains one or more HTTP headers such as the authentication bearer token. If desired, you can include other HTTP headers as well.

1
2
3
4
5
6
7
8
# Custom extension configuration
- name: custom-extension-id
 enabled: true
  # The Secret name that contains request headers for the download.
  requestHeaderSecretName: "my-secret-name"
  # The URI to download the custom extension (as .zip distribution).
  extensionUri: 
"https://github.com/org/cust-extension/releases/download/1.0.0/cust-extension.zip"

As part of this release, you can also configure customization downloads. Extension customizations are frequently used in HiveMQ streaming integrations for AWS Kinesis, Kafka, and Google Cloud Pub/Sub.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# HiveMQ Enterprise Extension for Kafka
- name: hivemq-kafka-extension
  enabled: true
  # The Kafka extension supports hot-reload of the configuration.
  supportsHotReload: true
  # The ConfigMap name that contains the Kafka extension configuration.
  configMapName: "my-kafka-configmap-name"
  # The Secret name that contains request headers for the customization download.
  requestHeaderSecretName: "my-secret-name"
  # The URI to download a customization for the Kafka extension.
  customizationUri: 
"https://github.com/org/kafka-customization/releases/download/1.0.0/kafka-customization.zip"

The new HiveMQ operator is a convenient way to ensure the secure download and correct installation of custom extensions and customizations from private GitHub repositories or similarly protected HTTP URLs.

For detailed information and configuration options, see our HiveMQ Platform Operator for Kubernetes documentation.

Additional Features and Improvements

  • Shortened name prefixes from hivemq-platform-operator-<release-name> to hivemq-<release-name>.
  • Added configuration options to specify the extension priority and start priority.
  • Added dynamic configuration of the Prometheus Extension at runtime to avoid unnecessary rolling restarts.
  • Added support to run the HiveMQ Platform with a non-root user.
  • Clarified and adjusted resource labels and selectors that could impact Helm chart upgrades.
  • Fixed an issue that prevented the allow-all extension from being disabled.
  • Added the ability to configure affinity and tolerations settings on the Helm charts.
  • Improved the way changes of the operator init container images are handled to prevent unnecessary rolling restarts.
  • Added resource requests and limits configuration for the HiveMQ Platform init-container on the StatefulSet.
  • Fixed an issue that could prevent upgrading between Helm chart versions.
  • Added tlsClientAuthenticationMode option in the HiveMQ Platform Helm chart to configure how the HiveMQ Platform authenticates client certificates for TLS connections.
  • Added keystoreSecretKey and truststoreSecretKey options to the HiveMQ Platform Helm chart to configure how the keystore and truststore files are named in a secret.

Get Started Today

To get started with the new operator, see our HiveMQ Platform Operator Quick Start Guide.

To update from a previous version of the Platform Operator for Kubernetes, you need to update your HiveMQ Platform custom resource definition. For simple step-by-step instructions, see our Upgrade Guide.

To learn more about our new operator, see HiveMQ Platform Operator for Kubernetes.

author HiveMQ Team

About HiveMQ Team

We love writing about MQTT, IoT protocols and architecture in general. Our experts are here to help, so reach out to us if we can help!

mail icon Contact HiveMQ
newer posts HiveMQ Community Edition 2023.10 is released
HiveMQ Edge 2023.8 is Released older posts