fix: add template function for labels

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
This commit is contained in:
Marco Kilchhofer 2021-05-27 08:02:15 +02:00
parent 6fb763888a
commit 6523c6e191
11 changed files with 38 additions and 39 deletions

View file

@ -60,6 +60,8 @@ $ helm install --name my-release argo/argo-rollouts
* This is a breaking change which only supports Helm v3.0.0+ now. If you still use Helm v2, please consider upgrading because v2 is EOL since November 2020.
To migrate to Helm v3 please have a look at the [Helm 2to3 Plugin](https://github.com/helm/helm-2to3). This tool will convert the existing ConfigMap used for Tiller to a Secret of type `helm.sh/release.v1`.
* `quay.io` is the default registry now
* We introduce a template function for the labels here to reduce code duplication. This also affects the Deployment `matchLabels` selector.
To upgrade an existing installation, please **add the `--force` parameter** to the `helm upgrade` command or **delete the Deployment resource** before you upgrade. This is necessary because Deployment's label selector is immutable.
* Breaking parameters update
* `securityContext` was renamed to `containerSecurityContext`
* Added `controller.image.registry`. Prior to this chart version you had to override the registry via `controller.image.repository`

View file

@ -31,6 +31,27 @@ Create chart name and version as used by the chart label.
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "argo-rollouts.labels" -}}
helm.sh/chart: {{ include "argo-rollouts.chart" . }}
{{ include "argo-rollouts.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/part-of: argo-rollouts
{{- end }}
{{/*
Selector labels
*/}}
{{- define "argo-rollouts.selectorLabels" -}}
app.kubernetes.io/name: {{ include "argo-rollouts.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}

View file

@ -6,9 +6,7 @@ metadata:
labels:
rbac.authorization.k8s.io/aggregate-to-view: "true"
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-view
app.kubernetes.io/part-of: argo-rollouts
app.kubernetes.io/instance: {{ .Release.Name }}
{{- include "argo-rollouts.labels" . | nindent 4 }}
rules:
- apiGroups:
- argoproj.io
@ -32,9 +30,7 @@ metadata:
labels:
rbac.authorization.k8s.io/aggregate-to-edit: "true"
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-edit
app.kubernetes.io/part-of: argo-rollouts
app.kubernetes.io/instance: {{ .Release.Name }}
{{- include "argo-rollouts.labels" . | nindent 4 }}
rules:
- apiGroups:
- argoproj.io
@ -64,9 +60,7 @@ metadata:
labels:
rbac.authorization.k8s.io/aggregate-to-admin: "true"
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}-aggregate-to-admin
app.kubernetes.io/part-of: argo-rollouts
{{- include "argo-rollouts.labels" . | nindent 4 }}
rules:
- apiGroups:
- argoproj.io

View file

@ -5,9 +5,7 @@ metadata:
name: {{ include "argo-rollouts.fullname" . }}
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}-clusterrole
app.kubernetes.io/part-of: argo-rollouts
{{- include "argo-rollouts.labels" . | nindent 4 }}
rules:
- apiGroups:
- argoproj.io

View file

@ -5,9 +5,7 @@ metadata:
name: {{ include "argo-rollouts.fullname" . }}
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}-clusterrolebinding
app.kubernetes.io/part-of: argo-rollouts
{{- include "argo-rollouts.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole

View file

@ -4,13 +4,11 @@ metadata:
name: {{ include "argo-rollouts.fullname" . }}
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/part-of: argo-rollouts
{{- include "argo-rollouts.labels" . | nindent 4 }}
spec:
selector:
matchLabels:
app.kubernetes.io/name: {{ .Release.Name }}
{{- include "argo-rollouts.selectorLabels" . | nindent 6 }}
strategy:
type: Recreate
template:
@ -20,7 +18,7 @@ spec:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
{{- include "argo-rollouts.selectorLabels" . | nindent 8 }}
{{- range $key, $value := .Values.podLabels }}
{{ $key }}: {{ $value | quote }}
{{- end }}

View file

@ -5,9 +5,7 @@ metadata:
name: {{ include "argo-rollouts.fullname" . }}-metrics
labels:
app.kubernetes.io/component: server
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}-metrics
app.kubernetes.io/part-of: argo-rollouts
{{- include "argo-rollouts.labels" . | nindent 4 }}
{{- with .Values.serviceAnnotations }}
annotations:
{{- toYaml . | nindent 4 }}
@ -19,5 +17,5 @@ spec:
port: 8090
targetPort: 8090
selector:
app.kubernetes.io/name: {{ .Release.Name }}
{{- include "argo-rollouts.selectorLabels" . | nindent 6 }}
{{- end }}

View file

@ -5,9 +5,7 @@ metadata:
name: {{ include "argo-rollouts.fullname" . }}
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}-role
app.kubernetes.io/part-of: argo-rollouts
{{- include "argo-rollouts.labels" . | nindent 4 }}
rules:
- apiGroups:
- argoproj.io

View file

@ -5,9 +5,7 @@ metadata:
name: {{ include "argo-rollouts.fullname" . }}
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}-role-binding
app.kubernetes.io/part-of: argo-rollouts
{{- include "argo-rollouts.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role

View file

@ -5,9 +5,7 @@ metadata:
name: {{ include "argo-rollouts.serviceAccountName" . }}
labels:
app.kubernetes.io/component: {{ .Values.controller.component }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/part-of: argo-rollouts
{{- include "argo-rollouts.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}

View file

@ -5,9 +5,7 @@ metadata:
name: {{ include "argo-rollouts.fullname" . }}
labels:
app.kubernetes.io/component: server
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: {{ .Release.Name }}-metrics
app.kubernetes.io/part-of: argo-rollouts
{{- include "argo-rollouts.labels" . | nindent 4 }}
{{- range $key, $value := .Values.controller.metrics.serviceMonitor.additionalLabels }}
{{ $key }}: {{ $value | quote }}
{{- end }}
@ -24,7 +22,5 @@ spec:
selector:
matchLabels:
app.kubernetes.io/component: server
app.kubernetes.io/name: {{ .Release.Name }}-metrics
app.kubernetes.io/part-of: argo-rollouts
app.kubernetes.io/instance: {{ .Release.Name }}
{{- include "argo-rollouts.selectorLabels" . | nindent 6 }}
{{- end }}