grafana / oncall

Developer-friendly incident response with brilliant Slack integration
GNU Affero General Public License v3.0
3.5k stars 288 forks source link

Grafana Oncall Helm chart with mostly-default values results in clashing names #1104

Open scubbo opened 1 year ago

scubbo commented 1 year ago

This might be deliberate behaviour, but I wanted to flag it up just in case.

The Grafana Oncall Helm chart depends on Grafana itself. When installing this chart with default values, 2 of the resultant ServiceAccounts are templated with the same name:

# Note that you may have to set `grafana.rbac.pspEnabled=false` if you have a recent version of Kubernetes
$ helm template -n grafana grafana-oncall grafana/oncall | yq 'select(.kind=="ServiceAccount")'
---
# Source: oncall/charts/grafana/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    helm.sh/chart: grafana-6.29.6
    app.kubernetes.io/name: grafana
    app.kubernetes.io/instance: grafana-oncall
    app.kubernetes.io/version: "8.5.3"
    app.kubernetes.io/managed-by: Helm
  name: grafana-oncall
  namespace: grafana
---
[...]
# Source: oncall/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: grafana-oncall
  labels:
    helm.sh/chart: oncall-1.1.0
    app.kubernetes.io/name: oncall
    app.kubernetes.io/instance: grafana-oncall
    app.kubernetes.io/version: "v1.1.5"
    app.kubernetes.io/managed-by: Helm

These two accounts are created from files here and here, which ultimately take their naming from here/here and here/here. Thus, a helm install that doesn't override the Helm ServiceAccountName will result in Error: INSTALLATION FAILED: serviceaccounts "grafana-oncall" already exists.

There are plenty of ways to get around this by overriding names in values - but this was (to me) a surprising failure with the default Helm values.

andrezaycev commented 1 year ago

Try rename you release from "grafana-oncall" to "oncall". Fix for me