Skip to content

Commit 882a455

Browse files
committed
Merge branch 'main' into feature/remove-default-secret-name
2 parents 3be3078 + 3a633bf commit 882a455

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+311
-50
lines changed

charts/grafana-mcp/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v2
22
name: grafana-mcp
3-
version: 0.2.1
4-
appVersion: 0.7.8
3+
version: 0.2.2
4+
appVersion: 0.7.9
55
kubeVersion: "^1.8.0-0"
66
description: MCP server for Grafana.
77
home: https://grafana.com

charts/grafana-sampling/Chart.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
dependencies:
22
- name: alloy
33
repository: https://grafana.github.io/helm-charts
4-
version: 1.2.1
4+
version: 1.4.0
55
- name: alloy
66
repository: https://grafana.github.io/helm-charts
7-
version: 1.2.1
8-
digest: sha256:2d813ce905b1503d97444bb668aab27814e3dee45e68187d3b12601aa5ba06d0
9-
generated: "2025-08-11T11:05:07.041393-07:00"
7+
version: 1.4.0
8+
digest: sha256:fd683be5718a051784d8551306e81a4127bba3f49269307876a9b2c2d892d412
9+
generated: "2025-11-05T19:36:17.581435-08:00"

charts/grafana-sampling/Chart.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@ apiVersion: v2
22
name: grafana-sampling
33
description: A Helm chart for a layered OTLP tail sampling and metrics generation pipeline.
44
type: application
5-
version: 1.1.6
6-
appVersion: "v1.10.1"
5+
version: 1.1.7
6+
appVersion: "v1.11.3"
77
sources:
88
- https://github.com/grafana/alloy
99
- https://grafana.com/docs/grafana-cloud/monitor-applications/application-observability/setup/sampling/tail/
1010
dependencies:
1111
- name: alloy
12-
version: 1.2.1
12+
version: 1.4.0
1313
repository: https://grafana.github.io/helm-charts
1414
alias: alloy-deployment
1515
- name: alloy
16-
version: 1.2.1
16+
version: 1.4.0
1717
repository: https://grafana.github.io/helm-charts
1818
alias: alloy-statefulset

charts/grafana-sampling/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# grafana-sampling
22

3-
![Version: 1.1.6](https://img.shields.io/badge/Version-1.1.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.10.1](https://img.shields.io/badge/AppVersion-v1.10.1-informational?style=flat-square)
3+
![Version: 1.1.7](https://img.shields.io/badge/Version-1.1.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.11.3](https://img.shields.io/badge/AppVersion-v1.11.3-informational?style=flat-square)
44

55
A Helm chart for a layered OTLP tail sampling and metrics generation pipeline.
66

charts/grafana/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v2
22
name: grafana
3-
version: 10.1.4
4-
appVersion: 12.2.1
3+
version: 10.2.0
4+
appVersion: 12.3.0
55
kubeVersion: "^1.8.0-0"
66
description: The leading tool for querying and visualizing time series and metrics.
77
home: https://grafana.com

charts/grafana/templates/_pod.tpl

Lines changed: 204 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,13 @@ dnsConfig:
2525
{{- with .Values.priorityClassName }}
2626
priorityClassName: {{ . }}
2727
{{- end }}
28-
{{- if ( or (and .Values.persistence.enabled .Values.initChownData.enabled) .Values.dashboards .Values.extraInitContainers (and .Values.sidecar.alerts.enabled .Values.sidecar.alerts.initAlerts) (and .Values.sidecar.datasources.enabled .Values.sidecar.datasources.initDatasources) (and .Values.sidecar.notifiers.enabled .Values.sidecar.notifiers.initNotifiers)) }}
28+
{{- if ( or (and .Values.persistence.enabled .Values.initChownData.enabled)
29+
.Values.dashboards
30+
.Values.extraInitContainers
31+
(and .Values.sidecar.alerts.enabled .Values.sidecar.alerts.initAlerts)
32+
(and .Values.sidecar.datasources.enabled .Values.sidecar.datasources.initDatasources)
33+
(and .Values.sidecar.notifiers.enabled .Values.sidecar.notifiers.initNotifiers)
34+
(and .Values.sidecar.dashboards.enabled .Values.sidecar.dashboards.initDashboards)) }}
2935
initContainers:
3036
{{- end }}
3137
{{- if ( and .Values.persistence.enabled .Values.initChownData.enabled ) }}
@@ -208,7 +214,7 @@ initContainers:
208214
value: "true"
209215
{{- end }}
210216
- name: METHOD
211-
value: "LIST"
217+
value: {{ .Values.sidecar.datasources.watchMethod }}
212218
- name: LABEL
213219
value: "{{ tpl .Values.sidecar.datasources.label $root }}"
214220
{{- with .Values.sidecar.datasources.labelValue }}
@@ -223,22 +229,80 @@ initContainers:
223229
value: "/etc/grafana/provisioning/datasources"
224230
- name: RESOURCE
225231
value: {{ quote .Values.sidecar.datasources.resource }}
232+
{{- if .Values.sidecar.datasources.resourceName }}
233+
- name: RESOURCE_NAME
234+
value: {{ quote .Values.sidecar.datasources.resourceName }}
235+
{{- end }}
226236
{{- with .Values.sidecar.enableUniqueFilenames }}
227237
- name: UNIQUE_FILENAMES
228238
value: "{{ . }}"
229239
{{- end }}
230-
{{- if .Values.sidecar.datasources.searchNamespace }}
240+
{{- with .Values.sidecar.datasources.searchNamespace }}
231241
- name: NAMESPACE
232-
value: "{{ tpl (.Values.sidecar.datasources.searchNamespace | join ",") . }}"
242+
value: "{{ tpl (. | join ",") $root }}"
233243
{{- end }}
234-
{{- with .Values.sidecar.skipTlsVerify }}
244+
{{- if .Values.sidecar.skipTlsVerify }}
235245
- name: SKIP_TLS_VERIFY
236-
value: "{{ . }}"
246+
value: "{{ .Values.sidecar.skipTlsVerify }}"
237247
{{- end }}
238248
{{- with .Values.sidecar.datasources.script }}
239249
- name: SCRIPT
240250
value: {{ quote . }}
241251
{{- end }}
252+
{{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
253+
- name: REQ_USERNAME
254+
valueFrom:
255+
secretKeyRef:
256+
name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
257+
key: {{ .Values.admin.userKey | default "admin-user" }}
258+
{{- end }}
259+
{{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
260+
- name: REQ_PASSWORD
261+
valueFrom:
262+
secretKeyRef:
263+
name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
264+
key: {{ .Values.admin.passwordKey | default "admin-password" }}
265+
{{- end }}
266+
{{- if not .Values.sidecar.datasources.skipReload }}
267+
- name: REQ_URL
268+
value: {{ .Values.sidecar.datasources.reloadURL }}
269+
- name: REQ_METHOD
270+
value: POST
271+
{{- end }}
272+
{{- if .Values.sidecar.datasources.watchServerTimeout }}
273+
{{- if ne .Values.sidecar.datasources.watchMethod "WATCH" }}
274+
{{- fail (printf "Cannot use .Values.sidecar.datasources.watchServerTimeout with .Values.sidecar.datasources.watchMethod %s" .Values.sidecar.datasources.watchMethod) }}
275+
{{- end }}
276+
- name: WATCH_SERVER_TIMEOUT
277+
value: "{{ .Values.sidecar.datasources.watchServerTimeout }}"
278+
{{- end }}
279+
{{- if .Values.sidecar.datasources.watchClientTimeout }}
280+
{{- if ne .Values.sidecar.datasources.watchMethod "WATCH" }}
281+
{{- fail (printf "Cannot use .Values.sidecar.datasources.watchClientTimeout with .Values.sidecar.datasources.watchMethod %s" .Values.sidecar.datasources.watchMethod) }}
282+
{{- end }}
283+
- name: WATCH_CLIENT_TIMEOUT
284+
value: "{{ .Values.sidecar.datasources.watchClientTimeout }}"
285+
{{- end }}
286+
{{- if .Values.sidecar.datasources.maxTotalRetries }}
287+
- name: REQ_RETRY_TOTAL
288+
value: "{{ .Values.sidecar.datasources.maxTotalRetries }}"
289+
{{- end }}
290+
{{- if .Values.sidecar.datasources.maxConnectRetries }}
291+
- name: REQ_RETRY_CONNECT
292+
value: "{{ .Values.sidecar.datasources.maxConnectRetries }}"
293+
{{- end }}
294+
{{- if .Values.sidecar.datasources.maxReadRetries }}
295+
- name: REQ_RETRY_READ
296+
value: "{{ .Values.sidecar.datasources.maxReadRetries }}"
297+
{{- end }}
298+
{{- with .Values.sidecar.livenessProbe }}
299+
livenessProbe:
300+
{{- toYaml . | nindent 6 }}
301+
{{- end }}
302+
{{- with .Values.sidecar.readinessProbe }}
303+
readinessProbe:
304+
{{- toYaml . | nindent 6 }}
305+
{{- end }}
242306
{{- with .Values.sidecar.resources }}
243307
resources:
244308
{{- toYaml . | nindent 6 }}
@@ -327,6 +391,138 @@ initContainers:
327391
{{- toYaml . | trim | nindent 6 }}
328392
{{- end }}
329393
{{- end}}
394+
{{- if and .Values.sidecar.dashboards.enabled .Values.sidecar.dashboards.initDashboards }}
395+
- name: {{ include "grafana.name" . }}-init-sc-dashboard
396+
{{- $registry := .Values.global.imageRegistry | default .Values.sidecar.image.registry -}}
397+
{{- if .Values.sidecar.image.sha }}
398+
image: "{{ $registry }}/{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}@sha256:{{ .Values.sidecar.image.sha }}"
399+
{{- else }}
400+
image: "{{ $registry }}/{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
401+
{{- end }}
402+
imagePullPolicy: {{ .Values.sidecar.imagePullPolicy }}
403+
env:
404+
{{- range $key, $value := .Values.sidecar.dashboards.env }}
405+
- name: "{{ $key }}"
406+
value: "{{ $value }}"
407+
{{- end }}
408+
{{- range $key, $value := .Values.sidecar.dashboards.envValueFrom }}
409+
- name: {{ $key | quote }}
410+
valueFrom:
411+
{{- tpl (toYaml $value) $ | nindent 10 }}
412+
{{- end }}
413+
{{- if .Values.sidecar.dashboards.ignoreAlreadyProcessed }}
414+
- name: IGNORE_ALREADY_PROCESSED
415+
value: "true"
416+
{{- end }}
417+
- name: METHOD
418+
value: {{ .Values.sidecar.dashboards.watchMethod }}
419+
- name: LABEL
420+
value: "{{ tpl .Values.sidecar.dashboards.label $root }}"
421+
{{- with .Values.sidecar.dashboards.labelValue }}
422+
- name: LABEL_VALUE
423+
value: {{ quote (tpl . $root) }}
424+
{{- end }}
425+
{{- if or .Values.sidecar.logLevel .Values.sidecar.dashboards.logLevel }}
426+
- name: LOG_LEVEL
427+
value: {{ default .Values.sidecar.logLevel .Values.sidecar.dashboards.logLevel }}
428+
{{- end }}
429+
- name: FOLDER
430+
value: "{{ .Values.sidecar.dashboards.folder }}{{- with .Values.sidecar.dashboards.defaultFolderName }}/{{ . }}{{- end }}"
431+
- name: RESOURCE
432+
value: {{ quote .Values.sidecar.dashboards.resource }}
433+
{{- if .Values.sidecar.dashboards.resourceName }}
434+
- name: RESOURCE_NAME
435+
value: {{ quote .Values.sidecar.dashboards.resourceName }}
436+
{{- end }}
437+
{{- with .Values.sidecar.enableUniqueFilenames }}
438+
- name: UNIQUE_FILENAMES
439+
value: "{{ . }}"
440+
{{- end }}
441+
{{- with .Values.sidecar.dashboards.searchNamespace }}
442+
- name: NAMESPACE
443+
value: "{{ tpl (. | join ",") $root }}"
444+
{{- end }}
445+
{{- with .Values.sidecar.skipTlsVerify }}
446+
- name: SKIP_TLS_VERIFY
447+
value: "{{ . }}"
448+
{{- end }}
449+
{{- with .Values.sidecar.dashboards.folderAnnotation }}
450+
- name: FOLDER_ANNOTATION
451+
value: "{{ . }}"
452+
{{- end }}
453+
{{- with .Values.sidecar.dashboards.script }}
454+
- name: SCRIPT
455+
value: {{ quote . }}
456+
{{- end }}
457+
{{- if not .Values.sidecar.dashboards.skipReload }}
458+
{{- if and (not .Values.env.GF_SECURITY_ADMIN_USER) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
459+
- name: REQ_USERNAME
460+
valueFrom:
461+
secretKeyRef:
462+
name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
463+
key: {{ .Values.admin.userKey | default "admin-user" }}
464+
{{- end }}
465+
{{- if and (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }}
466+
- name: REQ_PASSWORD
467+
valueFrom:
468+
secretKeyRef:
469+
name: {{ (tpl .Values.admin.existingSecret .) | default (include "grafana.fullname" .) }}
470+
key: {{ .Values.admin.passwordKey | default "admin-password" }}
471+
{{- end }}
472+
- name: REQ_URL
473+
value: {{ .Values.sidecar.dashboards.reloadURL }}
474+
- name: REQ_METHOD
475+
value: POST
476+
{{- end }}
477+
{{- if .Values.sidecar.dashboards.watchServerTimeout }}
478+
{{- if ne .Values.sidecar.dashboards.watchMethod "WATCH" }}
479+
{{- fail (printf "Cannot use .Values.sidecar.dashboards.watchServerTimeout with .Values.sidecar.dashboards.watchMethod %s" .Values.sidecar.dashboards.watchMethod) }}
480+
{{- end }}
481+
- name: WATCH_SERVER_TIMEOUT
482+
value: "{{ .Values.sidecar.dashboards.watchServerTimeout }}"
483+
{{- end }}
484+
{{- if .Values.sidecar.dashboards.watchClientTimeout }}
485+
{{- if ne .Values.sidecar.dashboards.watchMethod "WATCH" }}
486+
{{- fail (printf "Cannot use .Values.sidecar.dashboards.watchClientTimeout with .Values.sidecar.dashboards.watchMethod %s" .Values.sidecar.dashboards.watchMethod) }}
487+
{{- end }}
488+
- name: WATCH_CLIENT_TIMEOUT
489+
value: {{ .Values.sidecar.dashboards.watchClientTimeout | quote }}
490+
{{- end }}
491+
{{- if .Values.sidecar.dashboards.maxTotalRetries }}
492+
- name: REQ_RETRY_TOTAL
493+
value: "{{ .Values.sidecar.dashboards.maxTotalRetries }}"
494+
{{- end }}
495+
{{- if .Values.sidecar.dashboards.maxConnectRetries }}
496+
- name: REQ_RETRY_CONNECT
497+
value: "{{ .Values.sidecar.dashboards.maxConnectRetries }}"
498+
{{- end }}
499+
{{- if .Values.sidecar.dashboards.maxReadRetries }}
500+
- name: REQ_RETRY_READ
501+
value: "{{ .Values.sidecar.dashboards.maxReadRetries }}"
502+
{{- end }}
503+
{{- with .Values.sidecar.livenessProbe }}
504+
livenessProbe:
505+
{{- toYaml . | nindent 6 }}
506+
{{- end }}
507+
{{- with .Values.sidecar.readinessProbe }}
508+
readinessProbe:
509+
{{- toYaml . | nindent 6 }}
510+
{{- end }}
511+
{{- with .Values.sidecar.resources }}
512+
resources:
513+
{{- toYaml . | nindent 6 }}
514+
{{- end }}
515+
{{- with .Values.sidecar.securityContext }}
516+
securityContext:
517+
{{- toYaml . | nindent 6 }}
518+
{{- end }}
519+
volumeMounts:
520+
- name: sc-dashboard-volume
521+
mountPath: {{ .Values.sidecar.dashboards.folder | quote }}
522+
{{- with .Values.sidecar.dashboards.extraMounts }}
523+
{{- toYaml . | trim | nindent 6 }}
524+
{{- end }}
525+
{{- end}}
330526
{{- with .Values.extraInitContainers }}
331527
{{- tpl (toYaml .) $root | nindent 2 }}
332528
{{- end }}
@@ -466,7 +662,7 @@ containers:
466662
{{- toYaml . | trim | nindent 6 }}
467663
{{- end }}
468664
{{- end}}
469-
{{- if .Values.sidecar.dashboards.enabled }}
665+
{{- if and .Values.sidecar.dashboards.enabled (not .Values.sidecar.dashboards.initDashboards) }}
470666
- name: {{ include "grafana.name" . }}-sc-dashboard
471667
{{- $registry := .Values.global.imageRegistry | default .Values.sidecar.image.registry -}}
472668
{{- if .Values.sidecar.image.sha }}
@@ -726,7 +922,7 @@ containers:
726922
{{- toYaml . | trim | nindent 6 }}
727923
{{- end }}
728924
{{- end}}
729-
{{- if .Values.sidecar.notifiers.enabled }}
925+
{{- if and .Values.sidecar.notifiers.enabled (not .Values.sidecar.notifiers.initNotifiers) }}
730926
- name: {{ include "grafana.name" . }}-sc-notifiers
731927
{{- $registry := .Values.global.imageRegistry | default .Values.sidecar.image.registry -}}
732928
{{- if .Values.sidecar.image.sha }}

charts/grafana/values.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1136,6 +1136,9 @@ sidecar:
11361136
# Otherwise, it's executed as is. Shebangs known to work are #!/bin/sh and #!/usr/bin/env python
11371137
script: null
11381138
skipReload: false
1139+
# This is needed if skipReload is true, to load any dashboards defined at startup time.
1140+
# Deploy the dashboard sidecar as an initContainer.
1141+
initDashboards: false
11391142
# watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
11401143
# defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
11411144
# watchServerTimeout: 3600

charts/pdc-agent/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: pdc-agent
33
description: PDC agent is an agent for connecting to Grafana Private Data source Connect
44
type: application
55
appVersion: "0.0.45"
6-
version: 0.0.1
6+
version: 0.0.2
77
home: https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/
88
sources:
99
- https://github.com/grafana/pdc-agent

charts/pdc-agent/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# pdc-agent
22

3-
![Version: 0.0.1](https://img.shields.io/badge/Version-0.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.0.45](https://img.shields.io/badge/AppVersion-0.0.45-informational?style=flat-square)
3+
![Version: 0.0.2](https://img.shields.io/badge/Version-0.0.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.0.45](https://img.shields.io/badge/AppVersion-0.0.45-informational?style=flat-square)
44

55
PDC agent is an agent for connecting to Grafana Private Data source Connect
66

@@ -38,6 +38,7 @@ PDC agent is an agent for connecting to Grafana Private Data source Connect
3838
| securityContext.allowPrivilegeEscalation | bool | `false` | |
3939
| securityContext.capabilities.drop[0] | string | `"ALL"` | |
4040
| securityContext.privileged | bool | `false` | |
41+
| securityContext.readOnlyRootFilesystem | bool | `false` | Enable running in a read-only root filesystem. |
4142
| securityContext.runAsNonRoot | bool | `true` | |
4243
| tokenSecretName | string | `""` | secretName Expects a secret with key `token` which contains the Access Policy token you generated |
4344
| tolerations | list | `[]` | not required, but left in as a choice |

charts/pdc-agent/templates/deployment.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,17 @@ spec:
7575
{{- range .Values.extraArgs }}
7676
- {{ . }}
7777
{{- end }}
78+
{{- if .Values.securityContext.readOnlyRootFilesystem }}
79+
volumeMounts:
80+
- mountPath: /home/pdc/
81+
name: ssh-cache
82+
{{- end }}
83+
{{- if .Values.securityContext.readOnlyRootFilesystem }}
84+
volumes:
85+
- name: ssh-cache
86+
emptyDir:
87+
sizeLimit: 50Mi
88+
{{- end }}
7889
{{- with .Values.nodeSelector }}
7990
nodeSelector:
8091
{{- toYaml . | nindent 8 }}

0 commit comments

Comments
 (0)