Bug: Tempo Dashboard Label Helm Error
The logic for https://repo1.dso.mil/big-bang/product/packages/tempo/-/blob/main/chart/templates/dashboards.yaml needs to be changed. Helm automatically injects its management labels (app.kubernetes.io/managed-by, helm.sh/chart, etc.) into every resource it creates. When you set upstream.tempo.metricsGenerator.enabled=true it tries to inject those into the ConfigMapList's top-level metadata, then it hits ListMeta, which doesn't support labels.
Error: Exit code 1
error: error validating "STDIN": error validating data: ValidationError(ConfigMapList.metadata): unknown field "labels" in io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta; if you choose to ignore these errors, turn validation off with --validate=false
Fixed dashboards.yaml, at least doesn't result in that error ^ and all 8 configmaps deploy successfully:
```
{- if or .Values.upstream.tempo.metricsGenerator.enabled }}
{{- $files := .Files.Glob "files/dashboards/*.json" }}
{{- range $path, $fileContents := $files }}
{{- $dashboardName := regexReplaceAll "(^.*/)(.*)\\.json$" $path "${2}" }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ printf "%s-%s" "tempo" $dashboardName | trunc 63 | trimSuffix "-" }}
namespace: tempo
labels:
grafana_dashboard: "1"
app: tempo
data:
{{ $dashboardName }}.json: |
{{ printf "%s" ($.Files.Get $path) | indent 4 }}
{{- end }}
{{- end }}
```
- Broken State: ConfigMapList with list-level metadata → Helm injects app.kubernetes.io/managed-by: Helm into ListMeta → this results in unknown field "labels" in io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta
- Fixed State: Individual ConfigMap documents (all 8) with --- separators → Helm labels land in ObjectMeta → deploys cleanly
issue