diff --git a/.changeset/conditional-app-suffix.md b/.changeset/conditional-app-suffix.md new file mode 100644 index 0000000..34f63cf --- /dev/null +++ b/.changeset/conditional-app-suffix.md @@ -0,0 +1,5 @@ +--- +"helm-charts": patch +--- + +Make the `-app` suffix on HyperDX Deployment and Service names conditional on `fullnameOverride`. When `fullnameOverride` is set, the suffix is omitted so users get full control over resource naming. The default behavior (no override) is unchanged. diff --git a/charts/clickstack/templates/NOTES.txt b/charts/clickstack/templates/NOTES.txt index 0823057..3f75196 100644 --- a/charts/clickstack/templates/NOTES.txt +++ b/charts/clickstack/templates/NOTES.txt @@ -28,7 +28,7 @@ Application Access: --set hyperdx.ingress.tls.enabled=true 2. Port Forward (Development/Testing): - kubectl port-forward svc/{{ include "clickstack.fullname" . }}-app {{ .Values.hyperdx.ports.app }}:{{ .Values.hyperdx.ports.app }} + kubectl port-forward svc/{{ include "clickstack.hyperdx.fullname" . }} {{ .Values.hyperdx.ports.app }}:{{ .Values.hyperdx.ports.app }} Then access: http://localhost:{{ .Values.hyperdx.ports.app }} Note: This application handles sensitive telemetry data and should not be exposed diff --git a/charts/clickstack/templates/_helpers.tpl b/charts/clickstack/templates/_helpers.tpl index e498dcf..913dfcf 100644 --- a/charts/clickstack/templates/_helpers.tpl +++ b/charts/clickstack/templates/_helpers.tpl @@ -21,6 +21,19 @@ Create a default fully qualified app name. {{- end }} {{- end }} +{{/* +HyperDX app resource name. When fullnameOverride is set the user expects full +control over naming, so the -app suffix is omitted. Without the override the +suffix is kept for backward compatibility. +*/}} +{{- define "clickstack.hyperdx.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-app" (include "clickstack.fullname" .) -}} +{{- end -}} +{{- end -}} + {{/* Create chart name and version as used by the chart label. */}} diff --git a/charts/clickstack/templates/hyperdx/deployment.yaml b/charts/clickstack/templates/hyperdx/deployment.yaml index 5d8f500..05d1543 100644 --- a/charts/clickstack/templates/hyperdx/deployment.yaml +++ b/charts/clickstack/templates/hyperdx/deployment.yaml @@ -1,7 +1,7 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "clickstack.fullname" . }}-app + name: {{ include "clickstack.hyperdx.fullname" . }} labels: {{- include "clickstack.labels" . | nindent 4 }} app: {{ include "clickstack.fullname" . }} diff --git a/charts/clickstack/templates/hyperdx/ingress.yaml b/charts/clickstack/templates/hyperdx/ingress.yaml index 3caf7f9..b5c0af7 100644 --- a/charts/clickstack/templates/hyperdx/ingress.yaml +++ b/charts/clickstack/templates/hyperdx/ingress.yaml @@ -2,7 +2,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: {{ include "clickstack.fullname" . }}-app-ingress + name: {{ include "clickstack.hyperdx.fullname" . }}-ingress labels: {{- include "clickstack.labels" . | nindent 4 }} annotations: @@ -37,7 +37,7 @@ spec: pathType: {{ .Values.hyperdx.ingress.pathType | default "ImplementationSpecific" }} backend: service: - name: {{ include "clickstack.fullname" . }}-app + name: {{ include "clickstack.hyperdx.fullname" . }} port: number: {{ .Values.hyperdx.ports.app }} {{- range .Values.hyperdx.ingress.additionalIngresses}} diff --git a/charts/clickstack/templates/hyperdx/service.yaml b/charts/clickstack/templates/hyperdx/service.yaml index cb46686..daa98af 100644 --- a/charts/clickstack/templates/hyperdx/service.yaml +++ b/charts/clickstack/templates/hyperdx/service.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "clickstack.fullname" . }}-app + name: {{ include "clickstack.hyperdx.fullname" . }} labels: {{- include "clickstack.labels" . | nindent 4 }} {{- if .Values.hyperdx.service.annotations }} diff --git a/charts/clickstack/tests/helpers_test.yaml b/charts/clickstack/tests/helpers_test.yaml index 75be86d..81abfa2 100644 --- a/charts/clickstack/tests/helpers_test.yaml +++ b/charts/clickstack/tests/helpers_test.yaml @@ -22,8 +22,16 @@ tests: asserts: - equal: path: metadata.name - value: direct-override-app - + value: direct-override + + - it: should not append -app suffix when fullnameOverride is set + set: + fullnameOverride: hyperdx-api + asserts: + - equal: + path: metadata.name + value: hyperdx-api + - it: should render common labels correctly asserts: - matchRegex: diff --git a/charts/clickstack/values.yaml b/charts/clickstack/values.yaml index 769f85f..0e7aa97 100644 --- a/charts/clickstack/values.yaml +++ b/charts/clickstack/values.yaml @@ -38,7 +38,7 @@ hyperdx: CLICKHOUSE_ENDPOINT: 'tcp://{{ include "clickstack.clickhouse.svc" . }}:{{ .Values.clickhouse.nativePort }}?dial_timeout=10s' CLICKHOUSE_SERVER_ENDPOINT: '{{ include "clickstack.clickhouse.svc" . }}:{{ .Values.clickhouse.nativePort }}' CLICKHOUSE_PROMETHEUS_METRICS_ENDPOINT: '{{ include "clickstack.clickhouse.svc" . }}:{{ .Values.clickhouse.prometheus.port }}' - OPAMP_SERVER_URL: 'http://{{ include "clickstack.fullname" . }}-app:{{ .Values.hyperdx.ports.opamp }}' + OPAMP_SERVER_URL: 'http://{{ include "clickstack.hyperdx.fullname" . }}:{{ .Values.hyperdx.ports.opamp }}' # ── K8s Secret (clickstack-secret) ─────────────────────── # Shared sensitive environment variables. Used by HyperDX and OTEL collector via envFrom. diff --git a/examples/alb-ingress/values.yaml b/examples/alb-ingress/values.yaml index 25f42e1..30594e6 100644 --- a/examples/alb-ingress/values.yaml +++ b/examples/alb-ingress/values.yaml @@ -63,7 +63,7 @@ additionalManifests: pathType: Prefix backend: service: - name: '{{ include "clickstack.fullname" . }}-app' + name: '{{ include "clickstack.hyperdx.fullname" . }}' port: name: app @@ -101,7 +101,7 @@ additionalManifests: scaleTargetRef: apiVersion: apps/v1 kind: Deployment - name: '{{ include "clickstack.fullname" . }}-app' + name: '{{ include "clickstack.hyperdx.fullname" . }}' minReplicas: 2 maxReplicas: 10 metrics: