From e4ea4f3994501c8be4e6cda83a997aead69a21e8 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Tue, 18 Dec 2018 11:06:53 +0200 Subject: [PATCH] Make the service account optional --- charts/flagger/templates/_helpers.tpl | 18 ++++++++++++++---- charts/flagger/templates/account.yaml | 13 ++++++++----- charts/flagger/templates/rbac.yaml | 4 ++-- charts/flagger/values.yaml | 10 +++++++++- 4 files changed, 33 insertions(+), 12 deletions(-) diff --git a/charts/flagger/templates/_helpers.tpl b/charts/flagger/templates/_helpers.tpl index 89ab73d3..a37d87fc 100644 --- a/charts/flagger/templates/_helpers.tpl +++ b/charts/flagger/templates/_helpers.tpl @@ -1,4 +1,10 @@ -{{/* vim: set filetype=mustache: */}} +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "flagger.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + {{/* Expand the name of the chart. */}} @@ -25,8 +31,12 @@ If release name contains chart name it will be used as a full name. {{- end -}} {{/* -Create chart name and version as used by the chart label. +Create the name of the service account to use */}} -{{- define "flagger.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- define "flagger.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "flagger.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} {{- end -}} +{{- end -}} \ No newline at end of file diff --git a/charts/flagger/templates/account.yaml b/charts/flagger/templates/account.yaml index ee2a7423..3a38807f 100644 --- a/charts/flagger/templates/account.yaml +++ b/charts/flagger/templates/account.yaml @@ -1,9 +1,12 @@ +{{- if .Values.serviceAccount.create }} apiVersion: v1 kind: ServiceAccount metadata: - name: {{ template "flagger.name" . }} + name: {{ template "flagger.serviceAccountName" . }} labels: - app: {{ template "flagger.name" . }} - chart: {{ template "flagger.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} + helm.sh/chart: {{ template "flagger.chart" . }} + app.kubernetes.io/name: {{ template "flagger.name" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} +{{- end }} diff --git a/charts/flagger/templates/rbac.yaml b/charts/flagger/templates/rbac.yaml index 2cd4da2a..cd191d43 100644 --- a/charts/flagger/templates/rbac.yaml +++ b/charts/flagger/templates/rbac.yaml @@ -29,7 +29,7 @@ roleRef: kind: ClusterRole name: {{ template "flagger.fullname" . }} subjects: -- name: {{ template "flagger.name" . }} - namespace: {{ .Release.Namespace | quote }} +- name: {{ template "flagger.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} kind: ServiceAccount {{- end }} diff --git a/charts/flagger/values.yaml b/charts/flagger/values.yaml index 6637bd8e..04b7f951 100644 --- a/charts/flagger/values.yaml +++ b/charts/flagger/values.yaml @@ -14,10 +14,18 @@ slack: # incoming webhook https://api.slack.com/incoming-webhooks url: -crd: +serviceAccount: + # serviceAccount.create: Whether to create a service account or not create: true + # serviceAccount.name: The name of the service account to create or use + name: "" rbac: + # rbac.create: `true` if rbac resources should be created + create: true + +crd: + # crd.create: `true` if custom resource definitions should be created create: true nameOverride: ""