Skip to content

Commit a551804

Browse files
committed
refactor(observability): extract local-dev Helm values into separate files
The kube-prometheus-stack and Jaeger releases were configured via long chains of `--set` flags, which obscure the configuration and make the script hard to extend. Extract them into two checked-in values files the setup script consumes via `--values`. - tasks/scripts/observability-prometheus-values.yaml — slim chart config plus Grafana auto-provisioning of a Jaeger datasource (stable uid so dashboards can reference it). - tasks/scripts/observability-jaeger-values.yaml — all-in-one Jaeger. - PROMSTACK_VALUES and JAEGER_VALUES env vars allow pointing at custom files for local experimentation.
1 parent e5db0fb commit a551804

3 files changed

Lines changed: 66 additions & 11 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# Helm values for the local-dev jaegertracing/jaeger install.
5+
# Consumed by tasks/scripts/observability-k8s-setup.sh.
6+
#
7+
# All-in-one mode: single pod with in-memory storage, OTLP/gRPC receiver on
8+
# :4317, OTLP/HTTP on :4318, UI on :16686. Enough for dashboards and trace
9+
# inspection during dev; nothing persists across pod restarts.
10+
11+
allInOne:
12+
enabled: true
13+
14+
storage:
15+
type: memory
16+
17+
provisionDataStore:
18+
cassandra: false
19+
20+
agent:
21+
enabled: false
22+
collector:
23+
enabled: false
24+
query:
25+
enabled: false

tasks/scripts/observability-k8s-setup.sh

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,16 @@
2020

2121
set -euo pipefail
2222

23+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
24+
2325
MONITORING_NAMESPACE="${MONITORING_NAMESPACE:-monitoring}"
2426
OBSERVABILITY_NAMESPACE="${OBSERVABILITY_NAMESPACE:-observability}"
2527
PROMSTACK_RELEASE="${PROMSTACK_RELEASE:-kube-prometheus-stack}"
2628
PROMSTACK_VERSION="${PROMSTACK_VERSION:-75.0.0}"
29+
PROMSTACK_VALUES="${PROMSTACK_VALUES:-${SCRIPT_DIR}/observability-prometheus-values.yaml}"
2730
JAEGER_RELEASE="${JAEGER_RELEASE:-jaeger}"
2831
JAEGER_VERSION="${JAEGER_VERSION:-3.4.0}"
32+
JAEGER_VALUES="${JAEGER_VALUES:-${SCRIPT_DIR}/observability-jaeger-values.yaml}"
2933
HEALTH_TIMEOUT="${HEALTH_TIMEOUT:-180}"
3034

3135
# ---------------------------------------------------------------------------
@@ -51,11 +55,7 @@ helm upgrade --install "${PROMSTACK_RELEASE}" prometheus-community/kube-promethe
5155
--version "${PROMSTACK_VERSION}" \
5256
--namespace "${MONITORING_NAMESPACE}" \
5357
--create-namespace \
54-
--set alertmanager.enabled=false \
55-
--set nodeExporter.enabled=false \
56-
--set kubeStateMetrics.enabled=false \
57-
--set grafana.adminPassword=admin \
58-
--set prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues=false \
58+
--values "${PROMSTACK_VALUES}" \
5959
--wait --timeout "${HEALTH_TIMEOUT}s"
6060

6161
# ---------------------------------------------------------------------------
@@ -67,12 +67,7 @@ helm upgrade --install "${JAEGER_RELEASE}" jaegertracing/jaeger \
6767
--version "${JAEGER_VERSION}" \
6868
--namespace "${OBSERVABILITY_NAMESPACE}" \
6969
--create-namespace \
70-
--set allInOne.enabled=true \
71-
--set storage.type=memory \
72-
--set provisionDataStore.cassandra=false \
73-
--set agent.enabled=false \
74-
--set collector.enabled=false \
75-
--set query.enabled=false \
70+
--values "${JAEGER_VALUES}" \
7671
--wait --timeout "${HEALTH_TIMEOUT}s"
7772

7873
# ---------------------------------------------------------------------------
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# Helm values for the local-dev kube-prometheus-stack install.
5+
# Consumed by tasks/scripts/observability-k8s-setup.sh.
6+
#
7+
# Slimmed down for k3d: drops Alertmanager + node/kube-state exporters.
8+
# Real-cluster operators install the bundle separately and follow the
9+
# docs/kubernetes/monitoring.mdx guide.
10+
11+
alertmanager:
12+
enabled: false
13+
nodeExporter:
14+
enabled: false
15+
kubeStateMetrics:
16+
enabled: false
17+
18+
prometheus:
19+
prometheusSpec:
20+
# Don't restrict to ServiceMonitors carrying the Helm release label —
21+
# the openshell chart sets its own selector via monitoring.serviceMonitor.labels.
22+
serviceMonitorSelectorNilUsesHelmValues: false
23+
24+
grafana:
25+
adminPassword: admin
26+
# Auto-provision Jaeger as a trace datasource. The Prometheus datasource is
27+
# added by the chart automatically.
28+
additionalDataSources:
29+
- name: Jaeger
30+
uid: jaeger
31+
type: jaeger
32+
access: proxy
33+
# Service installed by tasks/scripts/observability-jaeger-values.yaml.
34+
url: http://jaeger-query.observability.svc.cluster.local:16686
35+
editable: true

0 commit comments

Comments
 (0)