diff --git a/install/kubernetes/tracecore/templates/_helpers.tpl b/install/kubernetes/tracecore/templates/_helpers.tpl index 8bbb9d15..cac17e23 100644 --- a/install/kubernetes/tracecore/templates/_helpers.tpl +++ b/install/kubernetes/tracecore/templates/_helpers.tpl @@ -43,6 +43,20 @@ app.kubernetes.io/instance: {{ .Release.Name }} {{- end -}} {{- end -}} +{{/* +tracecore.metricsPort / tracecore.healthPort — strip the host prefix +from `host:port` listener strings so manifests can use the port alone +(containerPort, service port, NetworkPolicy port). Both helpers accept +the chart root context and read from `.Values.telemetry.*Listen`. +*/}} +{{- define "tracecore.metricsPort" -}} +{{- regexReplaceAll ".*:" .Values.telemetry.metricsListen "" -}} +{{- end -}} + +{{- define "tracecore.healthPort" -}} +{{- regexReplaceAll ".*:" .Values.telemetry.healthListen "" -}} +{{- end -}} + {{- define "tracecore.image" -}} {{- $digest := default "" .Values.image.digest -}} {{- if ne $digest "" -}} diff --git a/install/kubernetes/tracecore/templates/daemonset.yaml b/install/kubernetes/tracecore/templates/daemonset.yaml index c7eb4b4b..73a9c924 100644 --- a/install/kubernetes/tracecore/templates/daemonset.yaml +++ b/install/kubernetes/tracecore/templates/daemonset.yaml @@ -23,7 +23,7 @@ spec: checksum/config: {{ include "tracecore.renderedConfig" . | sha256sum }} {{- if and .Values.telemetry.enabled .Values.prometheusScrape.enabled }} {{/* Annotation-driven scrape for vanilla Prometheus (issue #296). */}} - {{- $metricsPort := regexReplaceAll ".*:" .Values.telemetry.metricsListen "" }} + {{- $metricsPort := include "tracecore.metricsPort" . }} prometheus.io/scrape: "true" prometheus.io/port: {{ $metricsPort | quote }} prometheus.io/path: /metrics @@ -118,8 +118,8 @@ spec: serve /metrics and the upstream service.telemetry metrics server does not serve a health route, so two ports are unavoidable. */}} - {{- $metricsPort := regexReplaceAll ".*:" .Values.telemetry.metricsListen "" -}} - {{- $healthPort := regexReplaceAll ".*:" .Values.telemetry.healthListen "" }} + {{- $metricsPort := include "tracecore.metricsPort" . -}} + {{- $healthPort := include "tracecore.healthPort" . }} ports: - name: telemetry containerPort: {{ $metricsPort | int }} diff --git a/install/kubernetes/tracecore/templates/networkpolicy.yaml b/install/kubernetes/tracecore/templates/networkpolicy.yaml index e118c1ae..6d832d45 100644 --- a/install/kubernetes/tracecore/templates/networkpolicy.yaml +++ b/install/kubernetes/tracecore/templates/networkpolicy.yaml @@ -54,8 +54,8 @@ on Calico / Cilium / kube-router / canal-flannel enable explicitly. */}} {{- if .Values.networkPolicy.enabled }} -{{- $metricsPort := regexReplaceAll ".*:" .Values.telemetry.metricsListen "" -}} -{{- $healthPort := regexReplaceAll ".*:" .Values.telemetry.healthListen "" -}} +{{- $metricsPort := include "tracecore.metricsPort" . -}} +{{- $healthPort := include "tracecore.healthPort" . -}} apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: diff --git a/install/kubernetes/tracecore/templates/service.yaml b/install/kubernetes/tracecore/templates/service.yaml index fa017acd..09d0a16f 100644 --- a/install/kubernetes/tracecore/templates/service.yaml +++ b/install/kubernetes/tracecore/templates/service.yaml @@ -10,7 +10,7 @@ listening on the telemetry port). */}} {{- if .Values.telemetry.enabled }} -{{- $metricsPort := regexReplaceAll ".*:" .Values.telemetry.metricsListen "" -}} +{{- $metricsPort := include "tracecore.metricsPort" . -}} apiVersion: v1 kind: Service metadata: diff --git a/install/kubernetes/tracecore/templates/servicemonitor.yaml b/install/kubernetes/tracecore/templates/servicemonitor.yaml index bca199ea..1a9f670a 100644 --- a/install/kubernetes/tracecore/templates/servicemonitor.yaml +++ b/install/kubernetes/tracecore/templates/servicemonitor.yaml @@ -21,7 +21,7 @@ see `monitoring.podAnnotations.enabled` in values.yaml. */}} {{- if and .Values.telemetry.enabled .Values.serviceMonitor.enabled }} -{{- $metricsPort := regexReplaceAll ".*:" .Values.telemetry.metricsListen "" -}} +{{- $metricsPort := include "tracecore.metricsPort" . -}} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: