Adds support for full name override.

This commit is contained in:
Vlad Losev 2020-09-08 15:48:52 -07:00
parent cddd6a6048
commit fa06e6ec8e
No known key found for this signature in database
GPG key ID: 3A3C3B9FAA3AB7AE
18 changed files with 113 additions and 65 deletions

View file

@ -7,10 +7,56 @@ Expand the name of the chart.
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
Create a fully qualified app name without the override capability.
Used for cluster-scoped resources which cannot share the common override name
when installed from different releases of the same chart in different
namespaces.
*/}}
{{- define "fullname" -}}
{{- define "fullnamenooverride" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{/*
Create a fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- include "fullnamenooverride" . -}}
{{- end -}}
{{- end -}}
/*
Create a fully qualified name for Argo server.
*/
{{- define "serverfullname" -}}
{{- include "fullname" . -}}-{{- .Values.server.name -}}
{{- end -}}
Create a fully qualified name for Argo server, without overridde support.
*/
{{- define "serverfullnamenooverride" -}}
{{- include "fullnamenooverride" . -}}-{{- .Values.server.name -}}
{{- end -}}
/*
Create a fully qualified name for Argo workflow controller.
*/
{{- define "controllerfullname" -}}
{{- include "fullname" . -}}-{{- .Values.controller.name -}}
{{- end -}}
Create a fully qualified name for Argo workflow controller, without overridde
support.
*/
{{- define "controllerfullnamenooverride" -}}
{{- include "fullnamenooverride" . -}}-{{- .Values.controller.name -}}
{{- end -}}

View file

@ -2,7 +2,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-{{ .Values.server.name }}
name: {{ include "serverfullnamenooverride" . }}
rules:
- apiGroups:
- ""
@ -64,7 +64,7 @@ rules:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-{{ .Values.server.name }}-cluster-template
name: {{ include "serverfullnamenooverride" . }}-cluster-template
rules:
- apiGroups:
- argoproj.io

View file

@ -3,11 +3,11 @@ apiVersion: rbac.authorization.k8s.io/v1
{{- if .Values.singleNamespace }}
kind: RoleBinding
metadata:
name: {{ .Release.Name }}-{{ .Values.server.name}}
name: {{ include "serverfullname" . }}
{{ else }}
kind: ClusterRoleBinding
metadata:
name: {{ .Release.Name }}-{{ .Values.server.name}}
name: {{ include "serverfullnamenooverride" . }}
{{- end }}
roleRef:
apiGroup: rbac.authorization.k8s.io
@ -21,11 +21,11 @@ subjects:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ .Release.Name }}-{{ .Values.server.name}}-cluster-template
name: {{ include "serverfullnamenooverride" . }}-cluster-template
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ .Release.Name }}-{{ .Values.server.name}}-cluster-template
name: {{ include "serverfullnamenooverride" . }}-cluster-template
subjects:
- kind: ServiceAccount
name: {{ .Values.server.serviceAccount }}

View file

@ -3,9 +3,9 @@
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: {{ .Release.Name }}-{{ .Values.server.name}}
name: {{ include "serverfullname" . }}
labels:
app: {{ .Release.Name }}-{{ .Values.server.name}}
app: {{ include "serverfullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
@ -19,7 +19,7 @@ spec:
{{- end }}
selector:
matchLabels:
app: {{ .Release.Name }}-{{ .Values.server.name}}
app: {{ include "serverfullname" . }}
release: {{ .Release.Name }}
{{- end -}}
{{- end -}}

View file

@ -2,7 +2,7 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-{{ .Values.server.name}}
name: {{ include "serverfullname" . }}
labels:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
@ -11,12 +11,12 @@ spec:
replicas: {{ .Values.server.replicas }}
selector:
matchLabels:
app: {{ .Release.Name }}-{{ .Values.server.name}}
app: {{ include "serverfullname" . }}
release: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ .Release.Name }}-{{ .Values.server.name}}
app: {{ include "serverfullname" . }}
release: {{ .Release.Name }}
{{- if .Values.server.podLabels }}
{{- toYaml .Values.server.podLabels | nindent 8 }}
@ -34,14 +34,14 @@ spec:
- name: argo-server
args:
- server
- --configmap={{ .Release.Name }}-{{ .Values.controller.name }}-configmap
- --configmap={{ include "controllerfullname" . }}-configmap
{{- if .Values.server.extraArgs }}
{{- toYaml .Values.server.extraArgs | nindent 10 }}
{{- end }}
{{- if .Values.singleNamespace }}
- "--namespaced"
{{- end }}
image: "{{ .Values.images.namespace }}/{{ .Values.images.server }}:{{ default .Values.images.tag .Values.server.image.tag }}"
image: {{ .Values.images.namespace }}/{{ .Values.images.server }}:{{ default .Values.images.tag .Values.server.image.tag }}
imagePullPolicy: {{ .Values.images.pullPolicy }}
{{- if .Values.server.podPortName }}
ports:
@ -91,5 +91,4 @@ spec:
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end -}}

View file

@ -9,7 +9,7 @@ apiVersion: extensions/v1beta1
{{ end -}}
kind: Ingress
metadata:
name: {{ .Release.Name }}-{{ .Values.server.name }}
name: {{ include "serverfullname" . }}
labels:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
@ -27,12 +27,12 @@ spec:
{{- if $.Values.server.ingress.paths }}
{{- range $.Values.server.ingress.paths }}
- backend:
serviceName: {{ .serviceName }}
serviceName: {{ include "serverfullname" . }}
servicePort: {{ .servicePort }}
{{- end }}
{{- end }}
- backend:
serviceName: {{ $serviceName }}
serviceName: {{ include "serverfullname" . }}
servicePort: {{ $servicePort }}
{{- end -}}
{{- if .Values.server.ingress.tls }}

View file

@ -2,7 +2,7 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-{{ .Values.server.name }}
name: {{ include "serverfullname" . }}
labels:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
@ -21,7 +21,7 @@ spec:
{{- end }}
targetPort: 2746
selector:
app: {{ .Release.Name }}-{{ .Values.server.name }}
app: {{ include "serverfullname" . }}
sessionAffinity: None
type: {{ .Values.server.serviceType }}
{{- if and (eq .Values.server.serviceType "LoadBalancer") .Values.server.loadBalancerIP }}

View file

@ -2,7 +2,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name}}-minio-secret
name: {{ include "controllerfullname" . }}-minio-secret
rules:
- apiGroups:
- ""
@ -15,4 +15,4 @@ rules:
- get
- watch
- list
{{- end }}
{{- end }}

View file

@ -1,7 +1,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name }}
name: {{ include "controllerfullnamenooverride" . }}
rules:
- apiGroups:
- ""
@ -110,7 +110,7 @@ rules:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name }}-cluster-template
name: {{ include "controllerfullnamenooverride" . }}-cluster-template
rules:
- apiGroups:
- argoproj.io

View file

@ -1,7 +1,7 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name }}-configmap
name: {{ include "controllerfullname" . }}-configmap
labels:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}

View file

@ -1,15 +1,17 @@
apiVersion: rbac.authorization.k8s.io/v1
{{- if .Values.singleNamespace }}
kind: RoleBinding
metadata:
name: {{ include "controllerfullname" . }}
{{ else }}
kind: ClusterRoleBinding
{{- end }}
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name }}
name: {{ include "controllerfullnamenooverride" . }}
{{- end }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ .Release.Name }}-{{ .Values.controller.name }}
name: {{ include "controllerfullnamenooverride" . }}
subjects:
- kind: ServiceAccount
name: {{ .Values.controller.serviceAccount }}
@ -29,11 +31,11 @@ subjects:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name }}-cluster-template
name: {{ include "controllerfullnamenooverride" . }}-cluster-template
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ .Release.Name }}-{{ .Values.controller.name }}-cluster-template
name: {{ include "controllerfullnamenooverride" . }}-cluster-template
subjects:
- kind: ServiceAccount
name: {{ .Values.controller.serviceAccount }}

View file

@ -2,9 +2,9 @@
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name}}
name: {{ include "controllerfullname" . }}
labels:
app: {{ .Release.Name }}-{{ .Values.controller.name}}
app: {{ include "controllerfullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
@ -18,6 +18,6 @@ spec:
{{- end }}
selector:
matchLabels:
app: {{ .Release.Name }}-{{ .Values.controller.name}}
app: {{ include "controllerfullname" . }}
release: {{ .Release.Name }}
{{- end }}

View file

@ -1,9 +1,9 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name}}
name: {{ include "controllerfullname" . }}
labels:
app: {{ .Release.Name }}-{{ .Values.controller.name}}
app: {{ include "controllerfullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
@ -11,12 +11,12 @@ spec:
replicas: {{ .Values.controller.replicas }}
selector:
matchLabels:
app: {{ .Release.Name }}-{{ .Values.controller.name}}
app: {{ include "controllerfullname" . }}
release: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ .Release.Name }}-{{ .Values.controller.name}}
app: {{ include "controllerfullname" . }}
release: {{ .Release.Name }}
{{- if .Values.controller.podLabels }}
{{ toYaml .Values.controller.podLabels | nindent 8}}
@ -32,27 +32,28 @@ spec:
{{- end }}
containers:
- name: controller
image: "{{ .Values.images.namespace }}/{{ .Values.images.controller }}:{{ default .Values.images.tag .Values.controller.image.tag }}"
image: {{ .Values.images.namespace }}/{{ .Values.images.controller }}:{{ default .Values.images.tag .Values.controller.image.tag }}
imagePullPolicy: {{ .Values.images.pullPolicy }}
command: [ "workflow-controller" ]
command:
- workflow-controller
args:
- "--configmap"
- "{{ .Release.Name }}-{{ .Values.controller.name}}-configmap"
- "--executor-image"
- "{{ .Values.images.namespace }}/{{ .Values.images.executor }}:{{ default .Values.images.tag .Values.executor.image.tag }}"
- "--loglevel"
- "{{ .Values.controller.logging.level }}"
- "--gloglevel"
- "{{ .Values.controller.logging.globallevel }}"
- --configmap
- {{ include "controllerfullname" . }}-configmap
- --executor-image
- {{ .Values.images.namespace }}/{{ .Values.images.executor }}:{{ default .Values.images.tag .Values.executor.image.tag }}
- --loglevel
- {{ .Values.controller.logging.level }}
- --gloglevel
- {{ .Values.controller.logging.globallevel }}
{{- if .Values.singleNamespace }}
- "--namespaced"
- --namespaced
{{- end }}
{{- with .Values.controller.workflowWorkers }}
- "--workflow-workers"
- --workflow-workers
- {{ . | quote }}
{{- end }}
{{- if .Values.controller.podWorkers }}
- "--pod-workers"
- --pod-workers
- {{ . | quote }}
{{- end }}
env:

View file

@ -2,11 +2,11 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name}}-minio-binding
name: {{ include "controllerfullname" . }}-minio-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ .Release.Name }}-{{ .Values.controller.name}}-minio-secret
name: {{ include "controllerfullname" . }}-minio-secret
subjects:
- kind: ServiceAccount
name: {{ .Values.controller.serviceAccount }}
@ -22,4 +22,4 @@ subjects:
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -2,9 +2,9 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name }}
name: {{ include "controllerfullname" . }}
labels:
app: {{ .Release.Name }}-{{ .Values.controller.name}}
app: {{ include "controllerfullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
@ -29,7 +29,7 @@ spec:
targetPort: {{ .Values.controller.telemetryConfig.port }}
{{- end }}
selector:
app: {{ .Release.Name }}-{{ .Values.controller.name }}
app: {{ include "controllerfullname" . }}
sessionAffinity: None
type: {{ .Values.controller.serviceType }}
{{- if and (eq .Values.controller.serviceType "LoadBalancer") .Values.controller.loadBalancerSourceRanges }}

View file

@ -2,9 +2,9 @@
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ .Release.Name }}-{{ .Values.controller.name }}
name: {{ include "controllerfullname" . }}
labels:
app: {{ .Release.Name }}-{{ .Values.controller.name}}
app: {{ include "controllerfullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
@ -28,6 +28,6 @@ spec:
- {{ .Release.Namespace }}
selector:
matchLabels:
app: {{ .Release.Name }}-{{ .Values.controller.name}}
app: {{ include "controllerfullname" . }}
release: {{ .Release.Name }}
{{- end }}

View file

@ -2,14 +2,14 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Release.Name }}-workflow
name: {{ include "fullname" . }}-workflow
{{- if .Values.workflow.namespace }}
namespace: {{ .Values.workflow.namespace }}
{{- end }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ .Release.Name }}-workflow
name: {{ include "fullname" . }}-workflow
subjects:
- kind: ServiceAccount
name: {{ .Values.workflow.serviceAccount.name }}

View file

@ -2,7 +2,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ .Release.Name }}-workflow
name: {{ include "fullname" . }}-workflow
{{- if .Values.workflow.namespace }}
namespace: {{ .Values.workflow.namespace }}
{{- end }}