diff --git a/charts/hono/Chart.yaml b/charts/hono/Chart.yaml index 1c6268d6..b6ed30f9 100755 --- a/charts/hono/Chart.yaml +++ b/charts/hono/Chart.yaml @@ -15,7 +15,7 @@ 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.7.1 +version: 2.7.2 # Version of Hono being deployed by the chart appVersion: 2.7.0 keywords: diff --git a/charts/hono/README.md b/charts/hono/README.md index 3f665b55..dd7936f5 100644 --- a/charts/hono/README.md +++ b/charts/hono/README.md @@ -101,6 +101,10 @@ The command removes all the Kubernetes components associated with the chart and ## Release Notes +### 2.7.2 + +- Update Jaeger image to 2.20.0, rename config key to `jaegerImage`, and adapt layout for v2 specifications. + ### 2.7.0 * Use Hono 2.7.0 container images. diff --git a/charts/hono/templates/_helpers.tpl b/charts/hono/templates/_helpers.tpl index a4b356d2..72b0ab09 100644 --- a/charts/hono/templates/_helpers.tpl +++ b/charts/hono/templates/_helpers.tpl @@ -481,15 +481,14 @@ quarkus: "io.quarkus.vertx.core.runtime": level: DEBUG {{- if or .dot.Values.jaegerBackendExample.enabled .dot.Values.otelCollectorAgentConfigMap }} - opentelemetry: - tracer: - exporter: - otlp: - {{- if .dot.Values.jaegerBackendExample.enabled }} - endpoint: {{ printf "http://%s-jaeger-collector:4317" ( include "hono.fullname" .dot ) | quote }} - {{- else }} - endpoint: "http://127.0.0.1:4317" - {{- end }} + otel: + exporter: + otlp: + {{- if .dot.Values.jaegerBackendExample.enabled }} + endpoint: {{ printf "http://%s-jaeger-collector:4317" ( include "hono.fullname" .dot ) | quote }} + {{- else }} + endpoint: "http://127.0.0.1:4317" + {{- end }} {{- end }} vertx: prefer-native-transport: true diff --git a/charts/hono/templates/jaeger/jaeger-collector-service.yaml b/charts/hono/templates/jaeger/jaeger-collector-service.yaml index 47383ce6..9a451ba2 100644 --- a/charts/hono/templates/jaeger/jaeger-collector-service.yaml +++ b/charts/hono/templates/jaeger/jaeger-collector-service.yaml @@ -1,6 +1,6 @@ {{- if .Values.jaegerBackendExample.enabled }} # -# 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. @@ -18,10 +18,6 @@ metadata: {{- include "hono.metadata" $args | nindent 2 }} spec: ports: - - name: collector-grpc - port: 14250 - protocol: TCP - targetPort: collector-grpc - name: otlp-grpc port: 4317 protocol: TCP diff --git a/charts/hono/templates/jaeger/jaeger-deployment.yaml b/charts/hono/templates/jaeger/jaeger-deployment.yaml index b883ba33..9d81337c 100644 --- a/charts/hono/templates/jaeger/jaeger-deployment.yaml +++ b/charts/hono/templates/jaeger/jaeger-deployment.yaml @@ -1,6 +1,6 @@ {{- if .Values.jaegerBackendExample.enabled }} # -# 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. @@ -11,8 +11,9 @@ # # SPDX-License-Identifier: EPL-2.0 # -{{- $args := dict "dot" . "component" "tracing" "name" "jaeger-all-in-one" "componentConfig" .Values.jaegerBackendExample }} -{{- $healthCheckPort := include "hono.healthCheckPort" . }} +{{- $args := dict "dot" . "component" "tracing" "name" "jaeger" "componentConfig" .Values.jaegerBackendExample }} +{{- $metricsPort := .Values.jaegerBackendExample.metricsPort | default "8888" }} +{{- $healthPort := .Values.jaegerBackendExample.healthPort | default "13133" }} apiVersion: apps/v1 kind: Deployment metadata: @@ -28,7 +29,7 @@ spec: {{- include "hono.podAdditionalLabels" $args | nindent 8 }} annotations: prometheus.io/scrape: "true" - prometheus.io/port: {{ $healthCheckPort | quote }} + prometheus.io/port: {{ $metricsPort | quote }} prometheus.io/scheme: "http" {{- include "hono.podAdditionalAnnotations" $args | nindent 8 }} spec: @@ -40,12 +41,9 @@ spec: {{- include "hono.pod.affinity" $args | nindent 6 }} containers: - name: jaeger - image: {{ .Values.jaegerBackendExample.allInOneImage }} + image: {{ .Values.jaegerBackendExample.jaegerImage }} + args: ["--config=/etc/jaeger/jaeger.yaml"] env: - - name: ADMIN_HTTP_HOST_PORT - value: {{ printf ":%s" $healthCheckPort | quote }} - - name: COLLECTOR_OTLP_ENABLED - value: "true" {{- with .Values.jaegerBackendExample.env }} {{- range $name,$value := . }} - name: {{ .name }} @@ -53,25 +51,32 @@ spec: {{- end }} {{- end }} ports: - - name: collector-grpc - containerPort: 14250 - protocol: TCP - name: otlp-grpc containerPort: 4317 protocol: TCP - - name: server-http - containerPort: 5778 + - name: otlp-http + containerPort: 4318 protocol: TCP - name: query-http containerPort: 16686 protocol: TCP - name: health - containerPort: {{ $healthCheckPort }} + containerPort: {{ $healthPort }} + protocol: TCP + - name: metrics + containerPort: {{ $metricsPort }} protocol: TCP + volumeMounts: + - name: config-volume + mountPath: /etc/jaeger {{- include "hono.component.envFrom" $args | indent 8 }} {{- with .Values.jaegerBackendExample.resources }} resources: {{- . | toYaml | nindent 10 }} {{- end }} {{- include "hono.component.healthChecks" $args | nindent 8 }} + volumes: + - name: config-volume + configMap: + name: jaeger-v2-config {{- end }} diff --git a/charts/hono/templates/jaeger/jaeger-v2-config.yaml b/charts/hono/templates/jaeger/jaeger-v2-config.yaml new file mode 100644 index 00000000..b3fccd91 --- /dev/null +++ b/charts/hono/templates/jaeger/jaeger-v2-config.yaml @@ -0,0 +1,55 @@ +{{- if .Values.jaegerBackendExample.enabled }} +# +# 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 +# +apiVersion: v1 +kind: ConfigMap +metadata: + name: jaeger-v2-config +data: + jaeger.yaml: | + receivers: + otlp: + protocols: + grpc: + endpoint: "0.0.0.0:4317" + http: + endpoint: "0.0.0.0:4318" + + exporters: + jaeger_storage_exporter: + trace_storage: RAM_backend + + extensions: + jaeger_storage: + backends: + RAM_backend: + memory: + max_traces: {{ .Values.jaegerBackendExample.config.max_traces | default 100000 }} + jaeger_query: + storage: + traces: RAM_backend + http: + endpoint: "0.0.0.0:16686" + healthcheckv2: + use_v2: true + http: + endpoint: "0.0.0.0:{{ .Values.jaegerBackendExample.healthPort | default "13133" }}" + + service: + extensions: [jaeger_storage, jaeger_query, healthcheckv2] + pipelines: + traces: + receivers: [otlp] + processors: [] + exporters: [jaeger_storage_exporter] +{{- end }} diff --git a/charts/hono/values.yaml b/charts/hono/values.yaml index 784e24a5..2839777d 100755 --- a/charts/hono/values.yaml +++ b/charts/hono/values.yaml @@ -2071,12 +2071,12 @@ dataGridExample: jaegerBackendExample: - # enabled indicates whether the example Jaeger all-in-one + # enabled indicates whether the example Jaeger # back end should be deployed and used. enabled: false - # allInOneImage contains the name (including tag) + # imageName contains the name (including tag) # of the container image to use for the example Jaeger back end. - allInOneImage: "jaegertracing/all-in-one:1.57" + jaegerImage: "jaegertracing/jaeger:2.20.0" # [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. @@ -2089,11 +2089,11 @@ jaegerBackendExample: livenessProbe: initialDelaySeconds: 300 httpGet: - path: "/" + path: "/status" readinessProbe: initialDelaySeconds: 10 httpGet: - path: "/" + path: "/status" # resources contains the container's requests and limits for CPU and memory # as defined by the Kubernetes API. # Refer to https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ @@ -2115,11 +2115,9 @@ jaegerBackendExample: priorityClassName: "" affinity: {} - # env contains environment variables to set for the Jaeger all-in-one container. - # The default variables configure the container to keep up to 100000 traces in memory. - env: - - name: "MEMORY_MAX_TRACES" - value: "100000" + # The default settings configure the container to keep up to 100000 traces in memory. + config: + max_traces: 100000 # extraVolumes contains additional kubernetes Volume definitions representing volumes # that can mounted into the container's file system. @@ -2143,7 +2141,7 @@ jaegerBackendExample: # otelCollectorAgentImage contains the name (including tag) of the container image # to use for the OpenTelemetry collector agent sidecar containers. -# These containers are deployed with Hono's components if the example Jaeger all-in-one +# These containers are deployed with Hono's components if the example Jaeger # deployment is disabled and "otelCollectorAgentConfigMap" is not null. otelCollectorAgentImage: "otel/opentelemetry-collector:0.100.0" # otelCollectorAgentConfigMap can be used to specify the name of an existing ConfigMap