From 7f51ea83d64bf2bb54d5d16f37fe887b4b4cc76d Mon Sep 17 00:00:00 2001 From: Alex SZAKALY Date: Thu, 2 Jul 2020 18:03:05 +0200 Subject: [PATCH] [bitnami/grafana] add label to Grafana (#2773) * [bitnami/grafana] add label to Grafana Label based Kubernetes network policies can not properly distinguish Grafana and the recently added Image Renderer due to common label. Image Renderer already have a separate label, thus Grafana also shall have a separate label to fulfill need for consistency. Signed-off-by: Alex Szakaly * [bitnami/grafana] Bump major version required due to selector label changes Add upgrading section to notify end-users about compatibility breakage Signed-off-by: Alex Szakaly --- bitnami/grafana/Chart.yaml | 2 +- bitnami/grafana/README.md | 12 ++++++++++++ bitnami/grafana/templates/configmap.yaml | 1 + bitnami/grafana/templates/dashboard-provider.yaml | 1 + bitnami/grafana/templates/deployment.yaml | 3 +++ bitnami/grafana/templates/ingress.yaml | 1 + bitnami/grafana/templates/pvc.yaml | 1 + bitnami/grafana/templates/secret.yaml | 1 + bitnami/grafana/templates/service.yaml | 2 ++ bitnami/grafana/templates/servicemonitor.yaml | 2 ++ bitnami/grafana/templates/smtp-secret.yaml | 1 + 11 files changed, 26 insertions(+), 1 deletion(-) diff --git a/bitnami/grafana/Chart.yaml b/bitnami/grafana/Chart.yaml index 102750480..204890985 100644 --- a/bitnami/grafana/Chart.yaml +++ b/bitnami/grafana/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: grafana -version: 2.1.3 +version: 3.0.0 appVersion: 7.0.5 description: Grafana is an open source, feature rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB. keywords: diff --git a/bitnami/grafana/README.md b/bitnami/grafana/README.md index 4b34556c5..e019b6d21 100644 --- a/bitnami/grafana/README.md +++ b/bitnami/grafana/README.md @@ -373,3 +373,15 @@ The [Bitnami Grafana](https://github.com/bitnami/bitnami-docker-grafana) image s Persistent Volume Claims are used to keep the data across deployments. This is known to work in GCE, AWS, and minikube. See the [Parameters](#parameters) section to configure the PVC or to disable persistence. + +## Upgrading + +### To 3.0.0 + +Deployment label selector is immutable after it gets created, so you cannot "upgrade". + +In https://github.com/bitnami/charts/pull/2773 the deployment label selectors of the resources were updated to add the component name. Resulting in compatibility breakage. + +In order to "upgrade" from a previous version, you will need to [uninstall](#uninstalling-the-chart) the existing chart manually. + +This major version signifies this change. diff --git a/bitnami/grafana/templates/configmap.yaml b/bitnami/grafana/templates/configmap.yaml index cdaf2bf50..e2d8239ff 100644 --- a/bitnami/grafana/templates/configmap.yaml +++ b/bitnami/grafana/templates/configmap.yaml @@ -3,6 +3,7 @@ kind: ConfigMap metadata: name: {{ include "grafana.fullname" . }}-envvars labels: {{- include "grafana.labels" . | nindent 4 }} + app.kubernetes.io/component: grafana data: GF_SECURITY_ADMIN_USER: {{ .Values.admin.user | quote }} {{- if .Values.imageRenderer.enabled }} diff --git a/bitnami/grafana/templates/dashboard-provider.yaml b/bitnami/grafana/templates/dashboard-provider.yaml index b233eff2d..d55d9310f 100644 --- a/bitnami/grafana/templates/dashboard-provider.yaml +++ b/bitnami/grafana/templates/dashboard-provider.yaml @@ -4,6 +4,7 @@ kind: ConfigMap metadata: name: {{ include "grafana.fullname" . }}-provider labels: {{- include "grafana.labels" . | nindent 4 }} + app.kubernetes.io/component: grafana data: default-provider.yaml: |- apiVersion: 1 diff --git a/bitnami/grafana/templates/deployment.yaml b/bitnami/grafana/templates/deployment.yaml index ced3e2d28..0c5cb1f15 100644 --- a/bitnami/grafana/templates/deployment.yaml +++ b/bitnami/grafana/templates/deployment.yaml @@ -3,16 +3,19 @@ kind: Deployment metadata: name: {{ include "grafana.fullname" . }} labels: {{- include "grafana.labels" . | nindent 4 }} + app.kubernetes.io/component: grafana spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: {{- include "grafana.matchLabels" . | nindent 6 }} + app.kubernetes.io/component: grafana {{- if .Values.updateStrategy }} strategy: {{ toYaml .Values.updateStrategy | nindent 4 }} {{- end }} template: metadata: labels: {{- include "grafana.labels" . | nindent 8 }} + app.kubernetes.io/component: grafana annotations: {{- if (include "grafana.createAdminSecret" .) }} checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }} diff --git a/bitnami/grafana/templates/ingress.yaml b/bitnami/grafana/templates/ingress.yaml index 041310205..f6f0b447f 100644 --- a/bitnami/grafana/templates/ingress.yaml +++ b/bitnami/grafana/templates/ingress.yaml @@ -4,6 +4,7 @@ kind: Ingress metadata: name: {{ include "grafana.fullname" . }} labels: {{- include "grafana.labels" . | nindent 4 }} + app.kubernetes.io/component: grafana annotations: {{- if .Values.ingress.certManager }} kubernetes.io/tls-acme: "true" diff --git a/bitnami/grafana/templates/pvc.yaml b/bitnami/grafana/templates/pvc.yaml index 8f2cbb3e1..13157c3dd 100644 --- a/bitnami/grafana/templates/pvc.yaml +++ b/bitnami/grafana/templates/pvc.yaml @@ -4,6 +4,7 @@ apiVersion: v1 metadata: name: {{ template "grafana.fullname" . }} labels: {{- include "grafana.labels" . | nindent 4 }} + app.kubernetes.io/component: grafana spec: accessModes: - {{ .Values.persistence.accessMode | quote }} diff --git a/bitnami/grafana/templates/secret.yaml b/bitnami/grafana/templates/secret.yaml index 8ab83d431..7b38db321 100644 --- a/bitnami/grafana/templates/secret.yaml +++ b/bitnami/grafana/templates/secret.yaml @@ -4,6 +4,7 @@ kind: Secret metadata: name: {{ template "grafana.fullname" . }}-admin labels: {{- include "grafana.labels" . | nindent 4 }} + app.kubernetes.io/component: grafana type: Opaque data: GF_SECURITY_ADMIN_PASSWORD: {{ ternary (randAlphaNum 10) .Values.admin.password (empty .Values.admin.password) | b64enc | quote }} diff --git a/bitnami/grafana/templates/service.yaml b/bitnami/grafana/templates/service.yaml index d4a9bdd6a..5f2a6c6f7 100644 --- a/bitnami/grafana/templates/service.yaml +++ b/bitnami/grafana/templates/service.yaml @@ -3,6 +3,7 @@ kind: Service metadata: name: {{ include "grafana.fullname" . }} labels: {{- include "grafana.labels" . | nindent 4 }} + app.kubernetes.io/component: grafana {{- if or (and .Values.metrics.enabled .Values.metrics.service.annotations) .Values.service.annotations }} annotations: {{- if and .Values.metrics.enabled .Values.metrics.service.annotations }} @@ -31,3 +32,4 @@ spec: nodePort: null {{- end }} selector: {{- include "grafana.matchLabels" . | nindent 4 }} + app.kubernetes.io/component: grafana diff --git a/bitnami/grafana/templates/servicemonitor.yaml b/bitnami/grafana/templates/servicemonitor.yaml index 125177752..edc3e354c 100644 --- a/bitnami/grafana/templates/servicemonitor.yaml +++ b/bitnami/grafana/templates/servicemonitor.yaml @@ -7,12 +7,14 @@ metadata: namespace: {{ .Values.metrics.serviceMonitor.namespace }} {{- end }} labels: {{- include "grafana.labels" . | nindent 4 }} + app.kubernetes.io/component: grafana {{- range $key, $value := .Values.metrics.serviceMonitor.selector }} {{ $key }}: {{ $value | quote }} {{- end }} spec: selector: matchLabels: {{ include "grafana.matchLabels" . | nindent 6 }} + app.kubernetes.io/component: grafana endpoints: - port: http path: "/metrics" diff --git a/bitnami/grafana/templates/smtp-secret.yaml b/bitnami/grafana/templates/smtp-secret.yaml index b6c79d7d0..37c6e76e2 100644 --- a/bitnami/grafana/templates/smtp-secret.yaml +++ b/bitnami/grafana/templates/smtp-secret.yaml @@ -4,6 +4,7 @@ kind: Secret metadata: name: {{ template "grafana.fullname" . }}-smtp labels: {{- include "grafana.labels" . | nindent 4 }} + app.kubernetes.io/component: grafana type: Opaque data: GF_SMTP_USER: {{ .Values.smtp.user | b64enc | quote }}