From bdf2bad073c3584ec6cdaf1680e0d8db6ce255d4 Mon Sep 17 00:00:00 2001 From: Kai Hudalla Date: Thu, 19 Feb 2026 13:12:10 +0100 Subject: [PATCH] [#571] Update to Hono 2.7.0 Adapted the Hono chart to support Hono 2.7.0, which includes updates to the Apache ActiveMQ Artemis and Infinispan configurations, as well as changes to the deployment templates and documentation. Fixes #571 --- charts/hono/Chart.yaml | 12 +- charts/hono/README.md | 55 +++++---- .../hono/ci/quarkus-native-images-values.yaml | 22 ++-- charts/hono/config/artemis/liveness-probe.sh | 6 +- charts/hono/config/artemis/readiness-probe.sh | 6 +- .../command-router/embedded-cache-config.xml | 11 +- .../hono/config/infinispan/hono-data-grid.xml | 41 +++---- .../profileGettingStarted-pre2.7-values.yaml | 99 ++++++++++++++++ charts/hono/profileGettingStarted-values.yaml | 110 ++++++++++++++++++ charts/hono/templates/NOTES.txt | 3 + .../templates/artemis/artemis-deployment.yaml | 4 +- .../example-data-grid/configmap.yaml | 9 +- .../example-data-grid/statefulset.yaml | 20 +--- charts/hono/values.yaml | 81 +++++++------ 14 files changed, 337 insertions(+), 142 deletions(-) create mode 100644 charts/hono/profileGettingStarted-pre2.7-values.yaml create mode 100644 charts/hono/profileGettingStarted-values.yaml diff --git a/charts/hono/Chart.yaml b/charts/hono/Chart.yaml index e6997d5f..67b9b4e0 100755 --- a/charts/hono/Chart.yaml +++ b/charts/hono/Chart.yaml @@ -15,16 +15,16 @@ name: hono description: | Eclipse Hono™ provides remote service interfaces for connecting large numbers of IoT devices to a back end and interacting with them in a uniform way regardless of the device communication protocol. -version: 2.6.6 +version: 2.7.0 # Version of Hono being deployed by the chart -appVersion: 2.6.0 +appVersion: 2.7.0 keywords: - iot-chart - IoT - connectivity - messaging - Kafka -home: https://www.eclipse.org/hono/ +home: https://eclipse.dev/hono sources: - https://github.com/eclipse-hono/hono icon: https://eclipse.dev/hono/img/hono-logo_image.svg @@ -32,7 +32,7 @@ maintainers: - name: dejanb email: dbosanac@redhat.com - name: sophokles73 - email: kai.hudalla@bosch.io + email: sophokles.kh@gmail.com dependencies: - name: "prometheus" version: "^14.x" @@ -44,9 +44,9 @@ dependencies: condition: "grafana.enabled" - name: "mongodb" repository: "oci://registry-1.docker.io/bitnamicharts" - version: "~13.x" + version: "~15.x" condition: "mongodb.createInstance" - name: "kafka" repository: "oci://registry-1.docker.io/bitnamicharts" - version: "^26.8" + version: "^31.1" condition: "kafkaMessagingClusterExample.enabled" diff --git a/charts/hono/README.md b/charts/hono/README.md index ecd76c32..3f665b55 100644 --- a/charts/hono/README.md +++ b/charts/hono/README.md @@ -1,6 +1,6 @@ # Eclipse Hono -[Eclipse Hono™](https://www.eclipse.org/hono/) provides remote service interfaces for connecting large +[Eclipse Hono™](https://eclipse.dev/hono/) provides remote service interfaces for connecting large numbers of IoT devices to a back end and interacting with them in a uniform way regardless of the device communication protocol. @@ -10,11 +10,11 @@ This repository contains a *chart* that can be used to install Hono to a Kuberne ## Prerequisites Installing Hono using the chart requires the Helm tool to be installed as described on the -[IoT Packages chart repository prerequisites](https://www.eclipse.org/packages/prereqs/#helm) +[IoT Packages chart repository prerequisites](https://eclipse.dev/packages/prereqs/#helm) page. In addition, a Kubernetes cluster to install the chart to is required. -See the corresponding section on the [IoT Packages prerequisites](https://www.eclipse.org/packages/prereqs/#kubernetes-cluster) +See the corresponding section on the [IoT Packages prerequisites](https://eclipse.dev/packages/prereqs/#kubernetes-cluster) page for information on how to set up a cluster suitable for running Hono. The Helm chart is being tested to successfully install on the four most recent Kubernetes versions. @@ -101,6 +101,13 @@ The command removes all the Kubernetes components associated with the chart and ## Release Notes +### 2.7.0 + +* Use Hono 2.7.0 container images. +* Explicitly allow usage of binamilegacy images by default. +* Updated Apache ActibeMQ Artemis image to most recent version. +* Updated Infinispan server to version 15.2 + ### 2.6.6 * Update the Hono Grafana dashboards from schemaVersion 16 to 38. @@ -344,7 +351,7 @@ adapters: ``` *adapters.kafkaMessagingSpec* needs to contain configuration properties as described in Hono's -[Kafka client admin guide](https://www.eclipse.org/hono/docs/admin-guide/hono-kafka-client-configuration/). +[Kafka client admin guide](https://eclipse.dev/hono/docs/admin-guide/hono-kafka-client-configuration/). Make sure to adapt/add properties as required by the Kafka cluster. Assuming that the file is named `customKafkaCluster.yaml`, the values can then be passed in to the Helm `install` @@ -411,7 +418,7 @@ adapters: ``` All of the *specs* need to contain Hono client configuration properties as described in the -[client admin guide](https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/). +[client admin guide](https://eclipse.dev/hono/docs/admin-guide/hono-client-configuration/). Make sure to adapt/add properties as required by the custom service implementations. The information contained in the *specs* will then be used by all protocol adapters that get deployed. @@ -518,7 +525,7 @@ adapters: ``` Both the *amqpMessagingNetworkSpec* and the *commandAndControlSpec* need to contain Hono client configuration properties -as described in the [client admin guide](https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/). +as described in the [client admin guide](https://eclipse.dev/hono/docs/admin-guide/hono-client-configuration/). Make sure to adapt/add properties as required by the AMQP Messaging Network. Note that *my-secret* is expected to already exist in the namespace that Hono gets installed to, i.e. the Helm chart @@ -562,7 +569,7 @@ The dashboard can then be opened by pointing your browser to `http://localhost:3 The chart can be customized to use container images other than the default ones. This can be used to install an older version of the images or to install a Hono milestone using the chart. It can also be used to install custom built images that need to be pulled from a different (private) container registry. Please refer to Hono's -[build instructions](https://www.eclipse.org/hono/docs/dev-guide/building_hono/#pushing-images) for details regarding +[build instructions](https://eclipse.dev/hono/docs/dev-guide/building_hono/#pushing-images) for details regarding building custom images and pushing them to a private container registry. The `values.yaml` file contains configuration properties for setting the container image and tag names to use for @@ -573,15 +580,15 @@ The following command installs Hono using custom built images published on a pri *2.0.0-custom* instead of the ones indicated by the chart's *appVersion* property: ```bash -helm install eclipse-hono eclipse-iot/hono -n hono --wait --set honoImagesTag=2.0.0-custom --set honoContainerRegistry=my-registry:9090 +helm install eclipse-hono eclipse-iot/hono -n hono --wait --set honoImagesTag=2.7.0-custom --set honoContainerRegistry=my-registry:9090 ``` It is also possible to define the image and tag names and container registry for each component separately. The easiest way to do that is to create a YAML file that specifies the particular properties: ```yaml -# pull standard adapter images in version 2.0.0 from Docker Hub by default -honoImagesTag: "2.0.0" +# pull standard adapter images in version 2.7.0 from Docker Hub by default +honoImagesTag: "2.7.0" deviceRegistryExample: # pull custom Device Registry image from private container registry @@ -592,7 +599,7 @@ deviceRegistryExample: authServer: # pull "older" release from Docker Hub imageName: "eclipse/hono-service-auth" - imageTag: "1.12.2" + imageTag: "2.6.0" ``` Assuming that the file is named `customImages.yaml`, the values can then be passed in to the @@ -614,28 +621,28 @@ details regarding the setup and configuration of a private container registry. ### Deploying via a private Registry -Please refer to Hono's [Building from Source](https://www.eclipse.org/hono/docs/dev-guide/building_hono/) instructions +Please refer to Hono's [Building from Source](https://eclipse.dev/hono/docs/dev-guide/building_hono/) instructions for details regarding getting the source code, building and pushing the container images. As in the previous section, the names of the custom images are configured in a YAML file: ```yaml -# use version 2.0.0-CUSTOM -honoImagesTag: "2.0.0-CUSTOM" +# use version 2.7.0-CUSTOM +honoImagesTag: "2.7.0-CUSTOM" deviceRegistryExample: - imageName: "my.registry.io/eclipse/hono-service-device-registry-mongodb" + imageName: "my.registry.io/eclipsehono/hono-service-device-registry-mongodb" authServer: - imageName: "my.registry.io/eclipse/hono-service-auth" + imageName: "my.registry.io/eclipsehono/hono-service-auth" commandRouterService: - imageName: "my.registry.io/eclipse/hono-service-command-router-infinispan" + imageName: "my.registry.io/eclipsehono/hono-service-command-router-infinispan" adapters: amqp: - imageName: "my.registry.io/eclipse/hono-adapter-amqp" + imageName: "my.registry.io/eclipsehono/hono-adapter-amqp" mqtt: - imageName: "my.registry.io/eclipse/hono-adapter-mqtt" + imageName: "my.registry.io/eclipsehono/hono-adapter-mqtt" http: - imageName: "my.registry.io/eclipse/hono-adapter-http" + imageName: "my.registry.io/eclipsehono/hono-adapter-http" ``` Assuming that the file is named `customImages.yaml`, the values can then be passed in to the @@ -700,7 +707,7 @@ with 80% of the container's memory limit being available to the process like thi ```yaml authServer: - imageName: "eclipse/hono-service-auth-native" + imageName: "eclipsehono/hono-service-auth-native" cmdLineArgs: - "-Xmx24m" resources: @@ -715,10 +722,10 @@ authServer: ## Configuring Storage for Command Routing Data Hono needs to store information about the connection status of devices during runtime. -This kind of information is used for determining how [command & control](https://www.eclipse.org/hono/docs/concepts/command-and-control/) +This kind of information is used for determining how [command & control](https://eclipse.dev/hono/docs/concepts/command-and-control/) messages, that are sent by business applications, can be routed to the protocol adapters that the target devices are connected to. -Hono's protocol adapters can use the [Command Router API](https://www.eclipse.org/hono/docs/api/command-router/) to supply +Hono's protocol adapters can use the [Command Router API](https://eclipse.dev/hono/docs/api/command-router/) to supply device connection information with which a Command Router service component can route command & control messages to the protocol adapters that the target devices are connected to. @@ -791,7 +798,7 @@ cluster and how to install Hono to it. The steps described include: * Helm based installation of Hono to the AKS instance. * (Optionally) using a managed [Azure Service Bus](https://docs.microsoft.com/azure/service-bus-messaging) instance as the broker component for Hono's - [AMQP 1.0 based messaging infrastructure](https://www.eclipse.org/hono/docs/architecture/component-view/#amqp-10-based-messaging-infrastructure) + [AMQP 1.0 based messaging infrastructure](https://eclipse.dev/hono/docs/architecture/component-view/#amqp-10-based-messaging-infrastructure) instead of the Apache ActiveMQ Artemis instance that is installed by the chart by default. - [Virtual Network (VNet) service endpoints](https://docs.microsoft.com/azure/virtual-network) ensure protected communication between AKS and Azure Service Bus. diff --git a/charts/hono/ci/quarkus-native-images-values.yaml b/charts/hono/ci/quarkus-native-images-values.yaml index e9ca5ea8..d5d974ca 100644 --- a/charts/hono/ci/quarkus-native-images-values.yaml +++ b/charts/hono/ci/quarkus-native-images-values.yaml @@ -32,40 +32,34 @@ kafka: create: false authServer: - imageName: "eclipse/hono-service-auth-native" + imageName: "eclipsehono/hono-service-auth-native" cmdLineArgs: - "-Xmx24m" resources: requests: - cpu: memory: "30Mi" limits: - cpu: memory: "30Mi" commandRouterService: - imageName: "eclipse/hono-service-command-router-infinispan-native" + imageName: "eclipsehono/hono-service-command-router-infinispan-native" cmdLineArgs: - - "-Xmx96m" + - "-Xmx110m" resources: requests: - cpu: - memory: "120Mi" + memory: "140Mi" limits: - cpu: - memory: "120Mi" + memory: "140Mi" deviceRegistryExample: embeddedJdbcDeviceRegistry: - imageName: "eclipse/hono-service-device-registry-jdbc-native" + imageName: "eclipsehono/hono-service-device-registry-jdbc-native" cmdLineArgs: - "-Xmx160m" resources: requests: - cpu: memory: "120Mi" limits: - cpu: memory: "120Mi" adapters: @@ -73,7 +67,7 @@ adapters: enabled: false coap: enabled: true - imageName: "eclipse/hono-adapter-coap-native" + imageName: "eclipsehono/hono-adapter-coap-native" cmdLineArgs: - "-Xmx96m" hono: @@ -86,10 +80,8 @@ adapters: maxConnections: 70 resources: requests: - cpu: memory: "120Mi" limits: - cpu: memory: "120Mi" http: enabled: false diff --git a/charts/hono/config/artemis/liveness-probe.sh b/charts/hono/config/artemis/liveness-probe.sh index ef5df20a..da75bc5d 100644 --- a/charts/hono/config/artemis/liveness-probe.sh +++ b/charts/hono/config/artemis/liveness-probe.sh @@ -14,7 +14,7 @@ # brokerName=${1:-hono-broker} -url="http://localhost:8161/console/jolokia/read/org.apache.activemq.artemis:broker=%22${brokerName}%22/Version" - -curl -s --user artemis:artemis -H "Origin: http://0.0.0.0" ${url} +brokerIP=`hostname -I | cut -f 1 -d ' '` +url="http://${brokerIP}:8161/console/jolokia/read/org.apache.activemq.artemis:broker=%22${brokerName}%22/Version" +curl -s --user artemis:artemis -H "Origin: http://${brokerIP}" ${url} diff --git a/charts/hono/config/artemis/readiness-probe.sh b/charts/hono/config/artemis/readiness-probe.sh index 82cc11cb..16e707bb 100755 --- a/charts/hono/config/artemis/readiness-probe.sh +++ b/charts/hono/config/artemis/readiness-probe.sh @@ -15,7 +15,7 @@ brokerName=${1:-hono-broker} acceptorName=${2:-amqps} -url="http://localhost:8161/console/jolokia/read/org.apache.activemq.artemis:broker=%22${brokerName}%22,component=acceptors,name=%22${acceptorName}%22/Started" - -curl -s --user artemis:artemis -H "Origin: http://0.0.0.0" ${url} | grep "\"value\":true" +brokerIP=`hostname -I | cut -f 1 -d ' '` +url="http://${brokerIP}:8161/console/jolokia/read/org.apache.activemq.artemis:broker=%22${brokerName}%22,component=acceptors,name=%22${acceptorName}%22/Started" +curl -s --user artemis:artemis -H "Origin: http://${brokerIP}" ${url} | grep "\"value\":true" diff --git a/charts/hono/config/command-router/embedded-cache-config.xml b/charts/hono/config/command-router/embedded-cache-config.xml index ff39c321..4c9de45d 100644 --- a/charts/hono/config/command-router/embedded-cache-config.xml +++ b/charts/hono/config/command-router/embedded-cache-config.xml @@ -1,6 +1,6 @@ - - + xsi:schemaLocation="urn:infinispan:config:15.2 https://infinispan.org/schemas/infinispan-config-15.2.xsd" + xmlns="urn:infinispan:config:15.2"> - + diff --git a/charts/hono/config/infinispan/hono-data-grid.xml b/charts/hono/config/infinispan/hono-data-grid.xml index eb94ca92..01e22325 100644 --- a/charts/hono/config/infinispan/hono-data-grid.xml +++ b/charts/hono/config/infinispan/hono-data-grid.xml @@ -1,6 +1,6 @@ + xsi:schemaLocation="urn:infinispan:config:15.2 https://infinispan.org/schemas/infinispan-config-15.2.xsd + urn:infinispan:server:15.2 https://infinispan.org/schemas/infinispan-server-15.2.xsd" + xmlns="urn:infinispan:config:15.2" + xmlns:server="urn:infinispan:server:15.2"> - - - - @@ -41,7 +37,7 @@ - + @@ -58,38 +54,27 @@ - + - - - - - - - - + - + - - + - + diff --git a/charts/hono/profileGettingStarted-pre2.7-values.yaml b/charts/hono/profileGettingStarted-pre2.7-values.yaml new file mode 100644 index 00000000..3fb5210c --- /dev/null +++ b/charts/hono/profileGettingStarted-pre2.7-values.yaml @@ -0,0 +1,99 @@ +# +# Copyright (c) 2026 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# http://www.eclipse.org/legal/epl-2.0 +# +# SPDX-License-Identifier: EPL-2.0 +# + +# This profile provides a minimal setup of Hono that is suitable for walking through +# Hono's Getting Started guide using a local Kubernetes cluster. +# This profile is supposed to be used with Hono chart versions prior to 2.7.0. + +# This is required to be able to still use the (unmaintained) "bitnamylegacy" container images +# for Kafka and MongoDB, which are used by the chart's example configurations for the Kafka Messaging +# Infrastucture and the Device Registry. +# see https://github.com/bitnami/charts/issues/30850 +# see https://github.com/eclipse-packages/packages/issues/567 +global: + security: + allowInsecureImages: true + +grafana: + enabled: false + +prometheus: + createInstance: false + +jaegerBackendExample: + enabled: false + +adapters: + http: + enabled: true + imageName: "eclipse/hono-adapter-http-native" + resources: + requests: + cpu: "50m" + memory: "120Mi" + limits: + memory: "120Mi" + + mqtt: + enabled: true + imageName: "eclipse/hono-adapter-mqtt-native" + resources: + requests: + cpu: "50m" + memory: "120Mi" + limits: + memory: "120Mi" + + amqp: + enabled: false + + coap: + enabled: false + + kura: + enabled: false + + lora: + enabled: false + +authServer: + imageName: "eclipse/hono-service-auth-native" + resources: + requests: + cpu: "50m" + memory: "60Mi" + limits: + memory: "60Mi" + +deviceRegistryExample: + type: "embedded" + embeddedJdbcDeviceRegistry: + imageName: "eclipse/hono-service-device-registry-jdbc" + resources: + requests: + cpu: "100m" + memory: "400Mi" + limits: + memory: "400Mi" + +dataGridExample: + enabled: false + +commandRouterService: + imageName: "eclipse/hono-service-command-router-native" + resources: + requests: + cpu: "50m" + memory: "140Mi" + limits: + memory: "140Mi" diff --git a/charts/hono/profileGettingStarted-values.yaml b/charts/hono/profileGettingStarted-values.yaml new file mode 100644 index 00000000..ac3a972d --- /dev/null +++ b/charts/hono/profileGettingStarted-values.yaml @@ -0,0 +1,110 @@ +# +# Copyright (c) 2026 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# http://www.eclipse.org/legal/epl-2.0 +# +# SPDX-License-Identifier: EPL-2.0 +# + +# This profile provides a minimal setup of Hono that is suitable for walking through +# Hono's Getting Started guide using a local Kubernetes cluster. +# This profile is supposed to be used with Hono chart versions starting from 2.7.0. + +grafana: + enabled: false + +prometheus: + createInstance: false + +jaegerBackendExample: + enabled: false + +kafka: + controller: + resources: + requests: + cpu: "150m" + memory: "1500Mi" + limits: + memory: "1500Mi" + extraConfig: | + group.initial.rebalance.delay.ms=0 + offsets.topic.replication.factor=1 + transaction.state.log.min.isr=1 + transaction.state.log.replication.factor=1 + log.flush.interval.messages=1000 + log.flush.interval.ms=1000 + log.retention.bytes=10485760 + log.retention.check.interval.ms=300000 + log.retention.hours=1 + log.segment.bytes=10485760 + +adapters: + http: + enabled: true + imageName: "eclipsehono/hono-adapter-http-native" + resources: + requests: + cpu: "50m" + memory: "120Mi" + limits: + memory: "120Mi" + + mqtt: + enabled: true + imageName: "eclipsehono/hono-adapter-mqtt-native" + resources: + requests: + cpu: "50m" + memory: "120Mi" + limits: + memory: "120Mi" + + amqp: + enabled: false + + coap: + enabled: false + + kura: + enabled: false + + lora: + enabled: false + +authServer: + imageName: "eclipsehono/hono-service-auth-native" + resources: + requests: + cpu: "50m" + memory: "60Mi" + limits: + memory: "60Mi" + +deviceRegistryExample: + type: "embedded" + embeddedJdbcDeviceRegistry: + imageName: "eclipsehono/hono-service-device-registry-jdbc" + resources: + requests: + cpu: "100m" + memory: "400Mi" + limits: + memory: "400Mi" + +dataGridExample: + enabled: false + +commandRouterService: + imageName: "eclipsehono/hono-service-command-router-native" + resources: + requests: + cpu: "50m" + memory: "140Mi" + limits: + memory: "140Mi" diff --git a/charts/hono/templates/NOTES.txt b/charts/hono/templates/NOTES.txt index cdd9d9e6..49e013a6 100644 --- a/charts/hono/templates/NOTES.txt +++ b/charts/hono/templates/NOTES.txt @@ -32,6 +32,9 @@ NAME {{ "READY STATUS RESTARTS AGE" {{ include "hono.fullname" . }}-artemis-f8f7dc7f4-864cj 1/1 Running 0 5m51s {{ include "hono.fullname" . }}-dispatch-router-6c77dc78bd-hjn4l 1/1 Running 0 5m51s {{- end }} +{{- if .Values.dataGridExample.enabled }} +{{ include "hono.fullname" . }}-data-grid-0 1/1 Running 0 5m51s +{{- end }} {{- if ( has "kafka" .Values.messagingNetworkTypes ) }} {{ include "hono.fullname" . }}-kafka-controller-0 1/1 Running 0 5m51s {{- end }} diff --git a/charts/hono/templates/artemis/artemis-deployment.yaml b/charts/hono/templates/artemis/artemis-deployment.yaml index 3515afe3..1c6e548a 100644 --- a/charts/hono/templates/artemis/artemis-deployment.yaml +++ b/charts/hono/templates/artemis/artemis-deployment.yaml @@ -1,7 +1,7 @@ {{- $amqpEnabled := and ( has "amqp" .Values.messagingNetworkTypes ) .Values.amqpMessagingNetworkExample.enabled -}} {{- if and $amqpEnabled ( not .Values.amqpMessagingNetworkExample.broker.servicebus.host ) }} # -# Copyright (c) 2019, 2022 Contributors to the Eclipse Foundation +# Copyright (c) 2019 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. @@ -47,8 +47,6 @@ spec: value: admin - name: HOME value: /home/jboss - - name: AMQ_EXTRA_ARGS - value: "--http-host 0.0.0.0" - name: JAVA_INITIAL_MEM_RATIO value: "30" - name: JAVA_MAX_MEM_RATIO diff --git a/charts/hono/templates/example-data-grid/configmap.yaml b/charts/hono/templates/example-data-grid/configmap.yaml index 45059bc5..00875906 100644 --- a/charts/hono/templates/example-data-grid/configmap.yaml +++ b/charts/hono/templates/example-data-grid/configmap.yaml @@ -1,6 +1,6 @@ {{- if .Values.dataGridExample.enabled }} # -# Copyright (c) 2019, 2020 Contributors to the Eclipse Foundation +# Copyright (c) 2019 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. @@ -20,9 +20,10 @@ data: hono-data-grid.xml: | {{- tpl ( .Files.Get "config/infinispan/hono-data-grid.xml" ) . | nindent 4 }} users.properties: | + #$REALM_NAME=default$ + #$ALGORITHM=clear$ + #Tue Feb 17 17:15:00 CEST 2026 {{ printf "%s=%s" .Values.dataGridExample.authUsername .Values.dataGridExample.authPassword }} public-groups.properties: | - {{ printf "%s=adapter" .Values.dataGridExample.authUsername }} - mgmt-groups.properties: | - {{ printf "%s=admin" .Values.dataGridExample.authUsername }} + {{ printf "%s=application" .Values.dataGridExample.authUsername }} {{- end }} diff --git a/charts/hono/templates/example-data-grid/statefulset.yaml b/charts/hono/templates/example-data-grid/statefulset.yaml index 71a2e200..177af1fb 100644 --- a/charts/hono/templates/example-data-grid/statefulset.yaml +++ b/charts/hono/templates/example-data-grid/statefulset.yaml @@ -1,6 +1,6 @@ {{- if .Values.dataGridExample.enabled }} # -# Copyright (c) 2019, 2021 Contributors to the Eclipse Foundation +# Copyright (c) 2019 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. @@ -36,14 +36,10 @@ spec: - image: {{ .Values.dataGridExample.imageName | quote }} imagePullPolicy: IfNotPresent name: hono-data-grid - command: - - /opt/infinispan/bin/server.sh + args: - -c - - hono-data-grid.xml - - -Dquarkus.log.category."org.infinispan.AUDIT".level=WARN + - /opt/hono/infinispan/hono-data-grid.xml env: - - name: JDK_JAVA_OPTIONS - value: "-XX:MinRAMPercentage=85 -XX:MaxRAMPercentage=85" - name: JAVA_OPTIONS value: {{ printf "-Djgroups.dns.query=%s-%s" (include "hono.fullname" .) $args.name }} ports: @@ -51,22 +47,18 @@ spec: containerPort: 11222 protocol: TCP volumeMounts: - - mountPath: /opt/infinispan/server/conf/hono-data-grid.xml + - mountPath: /opt/hono/infinispan/hono-data-grid.xml name: conf subPath: hono-data-grid.xml readOnly: true - - mountPath: /opt/infinispan/server/conf/users.properties + - mountPath: /opt/hono/infinispan/users.properties name: conf subPath: users.properties readOnly: true - - mountPath: /opt/infinispan/server/conf/public-groups.properties + - mountPath: /opt/hono/infinispan/public-groups.properties name: conf subPath: public-groups.properties readOnly: true - - mountPath: /opt/infinispan/server/conf/mgmt-groups.properties - name: conf - subPath: mgmt-groups.properties - readOnly: true {{- include "hono.component.healthChecks" $args | nindent 8 }} {{- with .Values.dataGridExample.resources }} resources: diff --git a/charts/hono/values.yaml b/charts/hono/values.yaml index 32033dfa..784e24a5 100755 --- a/charts/hono/values.yaml +++ b/charts/hono/values.yaml @@ -14,6 +14,15 @@ # Default values for eclipse-hono. # Declare variables to be passed into your templates. +# This is required to be able to still use the (unmaintained) "bitnamylegacy" container images +# for Kafka and MongoDB, which are used by the chart's example configurations for the Kafka Messaging +# Infrastucture and the Device Registry. +# see https://github.com/bitnami/charts/issues/30850 +# see https://github.com/eclipse-packages/packages/issues/567 +global: + security: + allowInsecureImages: true + nameOverride: "" fullnameOverride: "" @@ -27,7 +36,7 @@ fullnameOverride: "" # the container images for Hono's components should be pulled from. # The registry can also be set separately for each component, overriding # the value specified here. -honoContainerRegistry: "index.docker.io" +honoContainerRegistry: "docker.io" # imagePullSecrets for pulling docker images from private registry. It will # be added to every deployment and statefulset. @@ -109,7 +118,7 @@ messagingNetworkTypes: # is stored in an AMQP 1.0 message sent to the AMQP Messaging Network. A "true" value here # configures the format used in previous Hono versions, while setting "false" chooses a more # generic format (compatible with e.g. Eclipse Ditto). Refer to -# https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/ +# https://eclipse.dev/hono/docs/admin-guide/hono-client-configuration/ # for the documentation of the corresponding "useLegacyTraceContextFormat" Hono client property. useLegacyAmqpTraceContextFormat: true @@ -139,7 +148,7 @@ adapters: # adapters for connecting to the AMQP Messaging Network to forward downstream messages to. # This property MUST be set if "messagingNetworkTypes" contains "amqp" and # "amqpMessagingNetworkExample.enabled" is set to false. - # Please refer to https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/ + # Please refer to https://eclipse.dev/hono/docs/admin-guide/hono-client-configuration/ # for a description of supported properties. # However, if "amqpMessagingNetworkExample.enabled" is set to true, only # "keyPath", "certPath", "trustStorePath", "hostnameVerificationRequired" can be set. @@ -157,7 +166,7 @@ adapters: # to send commands to devices. # This property MUST be set if "messagingNetworkTypes" contains "amqp" and # "amqpMessagingNetworkExample.enabled" is set to false. - # Please refer to https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/ + # Please refer to https://eclipse.dev/hono/docs/admin-guide/hono-client-configuration/ # for a description of supported properties. # However, if "amqpMessagingNetworkExample.enabled" is set to true, only # "keyPath", "certPath", "trustStorePath", "hostnameVerificationRequired" can be set. @@ -171,7 +180,7 @@ adapters: # adapters for connecting to the Kafka cluster to be used for messaging. # This property MUST be set if "messagingNetworkTypes" contains "kafka" and # "kafkaMessagingClusterExample.enabled" is set to false. - # Please refer to https://www.eclipse.org/hono/docs/admin-guide/common-config/#kafka-based-messaging-configuration + # Please refer to https://eclipse.dev/hono/docs/admin-guide/common-config/#kafka-based-messaging-configuration # for a description of supported properties. kafkaMessagingSpec: {} # commonClientConfig: @@ -198,21 +207,21 @@ adapters: # tenantSpec contains Hono client properties used by all protocol adapters for # connecting to the Tenant service. # This property MUST be set if "deviceRegistryExample.enabled" is set to false. - # Please refer to https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/ + # Please refer to https://eclipse.dev/hono/docs/admin-guide/hono-client-configuration/ # for a description of supported properties. tenantSpec: # deviceRegistrationSpec contains Hono client properties used by all protocol adapters for # connecting to the Device Registration service. # This property MUST be set if "deviceRegistryExample.enabled" is set to false. - # Please refer to https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/ + # Please refer to https://eclipse.dev/hono/docs/admin-guide/hono-client-configuration/ # for a description of supported properties. deviceRegistrationSpec: # credentialsSpec contains Hono client properties used by all protocol adapters for # connecting to the Credentials service. # This property MUST be set if "deviceRegistryExample.enabled" is set to false. - # Please refer to https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/ + # Please refer to https://eclipse.dev/hono/docs/admin-guide/hono-client-configuration/ # for a description of supported properties. credentialsSpec: @@ -220,7 +229,7 @@ adapters: # connecting to the Command Router service. # If not set, default properties will be used for establishing a TLS based connection # to the command router server. - # Please refer to https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/ + # Please refer to https://eclipse.dev/hono/docs/admin-guide/hono-client-configuration/ # for a description of supported properties. commandRouterSpec: @@ -245,7 +254,7 @@ adapters: enabled: true # imageName contains the name (excluding registry) # of the container image to use for the AMQP adapter - imageName: "eclipse/hono-adapter-amqp" + imageName: "eclipsehono/hono-adapter-amqp" # imageTag contains the tag of the container image to deploy. # If not specified, the value of the honoImagesTag property is used. # imageTag: @@ -354,7 +363,7 @@ adapters: tlsTrustStoreConfigMap: "example" # hono contains the adapter's configuration properties as defined in - # https://www.eclipse.org/hono/docs/admin-guide/amqp-adapter-config/ + # https://eclipse.dev/hono/docs/admin-guide/amqp-adapter-config/ hono: app: # maxInstances defines the number of adapter Verticle instances to deploy @@ -374,7 +383,7 @@ adapters: enabled: false # imageName contains the name (excluding registry) # of the container image to use for the CoAP adapter - imageName: "eclipse/hono-adapter-coap" + imageName: "eclipsehono/hono-adapter-coap" # imageTag contains the tag of the container image to deploy. # If not specified, the value of the honoImagesTag property is used. # imageTag: @@ -501,7 +510,7 @@ adapters: enabled: true # imageName contains the name (excluding registry) # of the container image to use for the HTTP adapter - imageName: "eclipse/hono-adapter-http" + imageName: "eclipsehono/hono-adapter-http" # imageTag contains the tag of the container image to deploy. # If not specified, the value of the honoImagesTag property is used. # imageTag: @@ -610,7 +619,7 @@ adapters: tlsTrustStoreConfigMap: "example" # hono contains the adapter's configuration properties as defined in - # https://www.eclipse.org/hono/docs/admin-guide/http-adapter-config/ + # https://eclipse.dev/hono/docs/admin-guide/http-adapter-config/ hono: app: # maxInstances defines the number of adapter Verticle instances to deploy @@ -630,7 +639,7 @@ adapters: enabled: false # imageName contains the name (excluding registry) # of the container image to use for the LoRa adapter - imageName: "eclipse/hono-adapter-lora" + imageName: "eclipsehono/hono-adapter-lora" # imageTag contains the tag of the container image to deploy. # If not specified, the value of the honoImagesTag property is used. # imageTag: @@ -758,7 +767,7 @@ adapters: enabled: true # imageName contains the name (excluding registry) # of the container image to use for the MQTT adapter - imageName: "eclipse/hono-adapter-mqtt" + imageName: "eclipsehono/hono-adapter-mqtt" # imageTag contains the tag of the container image to deploy. # If not specified, the value of the honoImagesTag property is used. # imageTag: @@ -867,7 +876,7 @@ adapters: tlsTrustStoreConfigMap: "example" # hono contains the adapter's configuration properties as defined in - # https://www.eclipse.org/hono/docs/admin-guide/mqtt-adapter-config/ + # https://eclipse.dev/hono/docs/admin-guide/mqtt-adapter-config/ hono: app: # maxInstances defines the number of adapter Verticle instances to deploy @@ -887,7 +896,7 @@ authServer: # imageName contains the name (excluding registry) # of the container image to use for the Auth Server - imageName: "eclipse/hono-service-auth" + imageName: "eclipsehono/hono-service-auth" # imageTag contains the tag of the container image to deploy. # If not specified, the value of the honoImagesTag property is used. # imageTag: @@ -984,7 +993,7 @@ authServer: tlsKeysSecret: "example" # hono contains the Auth Server's configuration properties as defined in - # https://www.eclipse.org/hono/docs/admin-guide/auth-server-config/ + # https://eclipse.dev/hono/docs/admin-guide/auth-server-config/ hono: app: # maxInstances defines the number of adapter Verticle instances to deploy @@ -1096,7 +1105,7 @@ deviceRegistryExample: clientTrustStorePath: # hono contains the Device Registry's configuration properties as defined in - # https://www.eclipse.org/hono/docs/admin-guide/device-registry-config/ + # https://eclipse.dev/hono/docs/admin-guide/device-registry-config/ hono: # auth contains Hono client properties used by the example registry for # connecting to the Authentication service. @@ -1129,9 +1138,9 @@ deviceRegistryExample: # for connecting to a Kafka cluster to be used for messaging. # This property will be used if "messagingNetworkTypes" contains "kafka" and # "kafkaMessagingClusterExample.enabled" is set to false. Please refer to - # https://www.eclipse.org/hono/docs/admin-guide/jdbc-device-registry-config/#kafka-based-messaging-configuration + # https://eclipse.dev/hono/docs/admin-guide/jdbc-device-registry-config/#kafka-based-messaging-configuration # or - # https://www.eclipse.org/hono/docs/admin-guide/mongodb-device-registry-config/#kafka-based-messaging-configuration + # https://eclipse.dev/hono/docs/admin-guide/mongodb-device-registry-config/#kafka-based-messaging-configuration # for a description of supported properties. kafka: {} # commonClientConfig contains Kafka client configuration to be used by all Kafka consumers and producers @@ -1152,7 +1161,7 @@ deviceRegistryExample: embeddedJdbcDeviceRegistry: # imageName contains the name (excluding registry) # of the container image for the example embedded jdbc device registry. - imageName: "eclipse/hono-service-device-registry-jdbc" + imageName: "eclipsehono/hono-service-device-registry-jdbc" # imageTag contains the tag of the container image to deploy. # If not specified, the value of the honoImagesTag property is used. # imageTag: @@ -1225,7 +1234,7 @@ deviceRegistryExample: mongoDBBasedDeviceRegistry: # imageName contains the name (excluding registry) # of the container image for the example MongoDB based device registry. - imageName: "eclipse/hono-service-device-registry-mongodb" + imageName: "eclipsehono/hono-service-device-registry-mongodb" # imageTag contains the tag of the container image to deploy. # If not specified, the value of the honoImagesTag property is used. # imageTag: @@ -1308,7 +1317,7 @@ deviceRegistryExample: jdbcBasedDeviceRegistry: # imageName contains the name (excluding registry) # of the container image for the example jdbc based device registry. - imageName: "eclipse/hono-service-device-registry-jdbc" + imageName: "eclipsehono/hono-service-device-registry-jdbc" # imageTag contains the tag of the container image to deploy. # If not specified, the value of the honoImagesTag property is used. # imageTag: @@ -1459,7 +1468,7 @@ commandRouterService: # imageName contains the name (excluding registry) # of the container image to use for the Command Router service - imageName: "eclipse/hono-service-command-router-infinispan" + imageName: "eclipsehono/hono-service-command-router-infinispan" # imageTag contains the tag of the container image to deploy. # If not specified, the value of the honoImagesTag property is used. # imageTag: @@ -1571,7 +1580,7 @@ commandRouterService: clientTrustStorePath: # hono contains the service's configuration properties as defined in - # https://www.eclipse.org/hono/docs/admin-guide/command-router-config/ + # https://eclipse.dev/hono/docs/admin-guide/command-router-config/ hono: app: # maxInstances defines the number of adapter Verticle instances to deploy @@ -1593,7 +1602,7 @@ commandRouterService: # cache contains properties configuring the embedded or remote cache that # the Command Router uses for storing routing information. Please refer to Hono's Command Router admin guide at - # https://www.eclipse.org/hono/docs/admin-guide/command-router-config/#data-grid-connection-configuration for + # https://eclipse.dev/hono/docs/admin-guide/command-router-config/#data-grid-connection-configuration for # details regarding cache configuration. # If not set explicitly here and "dataGridExample.enabled" is "true", the example data grid is used. # If "dataGridExample.enabled" is "false", an embedded cache with a default configuration will be used. @@ -1605,7 +1614,7 @@ commandRouterService: # for connecting to a Kafka cluster to be used for messaging. # This property will be used if "messagingNetworkTypes" contains "kafka" and # "kafkaMessagingClusterExample.enabled" is set to false. Please refer to - # https://www.eclipse.org/hono/docs/admin-guide/command-router-config/#kafka-based-messaging-configuration + # https://eclipse.dev/hono/docs/admin-guide/command-router-config/#kafka-based-messaging-configuration # for a description of supported properties. kafka: {} # commonClientConfig contains Kafka client configuration to be used by all Kafka consumers and producers @@ -1722,7 +1731,7 @@ grafana: # to be used for messaging if "messagingNetworkTypes" contains "kafka" kafkaMessagingClusterExample: # enabled indicates whether the example Kafka cluster consisting of a single broker - # and one Zookeeper instance should be deployed. This minimal deployment is not suitable + # instance should be deployed. This minimal deployment is not suitable # for production purposes. To use an already existing Kafka cluster instead, # set this property to false and configure "adapters.kafkaMessagingSpec". enabled: true @@ -1947,7 +1956,7 @@ amqpMessagingNetworkExample: artemis: # imageName contains the name (including tag) of the container # image to use for the example AMQP Messaging Network Broker - imageName: "quay.io/artemiscloud/activemq-artemis-broker:1.0.6" + imageName: "quay.io/artemiscloud/activemq-artemis-broker:1.0.32" # [DEPRECATED: use probes instead] livenessProbeInitialDelaySeconds contains the value to use for the "initialDelaySeconds" # configuration property of the component's liveness probe. # The value of the top level "livenessProbeInitialDelaySeconds" property will be used if not set. @@ -2010,7 +2019,7 @@ dataGridExample: enabled: false # imageName contains the name (including tag) # of the container image to use for the example data grid. - imageName: "infinispan/server-native:13.0" + imageName: "quay.io/infinispan/server:15.2.6.Final" # [DEPRECATED: use probes instead] livenessProbeInitialDelaySeconds contains the value to use for the "initialDelaySeconds" # configuration property of the component's liveness probe. # The value of the top level "livenessProbeInitialDelaySeconds" property will be used if not set. @@ -2023,7 +2032,7 @@ dataGridExample: probes: livenessProbe: httpGet: - path: "/rest/v2/cache-managers/routing-info/health/status" + path: "/rest/v2/container/health/status" port: "hotrod" failureThreshold: 5 successThreshold: 1 @@ -2031,7 +2040,7 @@ dataGridExample: initialDelaySeconds: 300 readinessProbe: httpGet: - path: "/rest/v2/cache-managers/routing-info/health/status" + path: "/rest/v2/container/health/status" port: "hotrod" failureThreshold: 5 successThreshold: 1 @@ -2044,10 +2053,10 @@ dataGridExample: resources: requests: cpu: "150m" - memory: "100Mi" + memory: "320Mi" limits: cpu: "1" - memory: "200Mi" + memory: "320Mi" pod: priorityClassName: ""