diff --git a/charts/argo/templates/_helpers.tpl b/charts/argo/templates/_helpers.tpl index f0d83d2e..ae57b27d 100644 --- a/charts/argo/templates/_helpers.tpl +++ b/charts/argo/templates/_helpers.tpl @@ -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 -}} diff --git a/charts/argo/templates/server-cluster-roles.yaml b/charts/argo/templates/server-cluster-roles.yaml index 8da10df2..e36172ef 100644 --- a/charts/argo/templates/server-cluster-roles.yaml +++ b/charts/argo/templates/server-cluster-roles.yaml @@ -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 diff --git a/charts/argo/templates/server-crb.yaml b/charts/argo/templates/server-crb.yaml index a919e573..df44e766 100644 --- a/charts/argo/templates/server-crb.yaml +++ b/charts/argo/templates/server-crb.yaml @@ -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 }} diff --git a/charts/argo/templates/server-deployment-pdb.yaml b/charts/argo/templates/server-deployment-pdb.yaml index 31f1d4f8..15de12c5 100644 --- a/charts/argo/templates/server-deployment-pdb.yaml +++ b/charts/argo/templates/server-deployment-pdb.yaml @@ -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 -}} diff --git a/charts/argo/templates/server-deployment.yaml b/charts/argo/templates/server-deployment.yaml index 0d5c8af5..c65176a9 100644 --- a/charts/argo/templates/server-deployment.yaml +++ b/charts/argo/templates/server-deployment.yaml @@ -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 -}} diff --git a/charts/argo/templates/server-ingress.yaml b/charts/argo/templates/server-ingress.yaml index eb0f37e0..cd258fa5 100644 --- a/charts/argo/templates/server-ingress.yaml +++ b/charts/argo/templates/server-ingress.yaml @@ -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 }} diff --git a/charts/argo/templates/server-service.yaml b/charts/argo/templates/server-service.yaml index ba4d74f6..a1393b76 100644 --- a/charts/argo/templates/server-service.yaml +++ b/charts/argo/templates/server-service.yaml @@ -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 }} diff --git a/charts/argo/templates/worfkflow-controller-secrets-access.yaml b/charts/argo/templates/worfkflow-controller-secrets-access.yaml index f0d48519..da63303a 100644 --- a/charts/argo/templates/worfkflow-controller-secrets-access.yaml +++ b/charts/argo/templates/worfkflow-controller-secrets-access.yaml @@ -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 }} \ No newline at end of file +{{- end }} diff --git a/charts/argo/templates/workflow-controller-cluster-roles.yaml b/charts/argo/templates/workflow-controller-cluster-roles.yaml index 976d49f8..dc45deff 100644 --- a/charts/argo/templates/workflow-controller-cluster-roles.yaml +++ b/charts/argo/templates/workflow-controller-cluster-roles.yaml @@ -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 diff --git a/charts/argo/templates/workflow-controller-config-map.yaml b/charts/argo/templates/workflow-controller-config-map.yaml index 9563ac12..37000fa2 100644 --- a/charts/argo/templates/workflow-controller-config-map.yaml +++ b/charts/argo/templates/workflow-controller-config-map.yaml @@ -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 }} diff --git a/charts/argo/templates/workflow-controller-crb.yaml b/charts/argo/templates/workflow-controller-crb.yaml index 459a3c67..69b5a3b5 100644 --- a/charts/argo/templates/workflow-controller-crb.yaml +++ b/charts/argo/templates/workflow-controller-crb.yaml @@ -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 }} diff --git a/charts/argo/templates/workflow-controller-deployment-pdb.yaml b/charts/argo/templates/workflow-controller-deployment-pdb.yaml index a7352a04..d57e3772 100644 --- a/charts/argo/templates/workflow-controller-deployment-pdb.yaml +++ b/charts/argo/templates/workflow-controller-deployment-pdb.yaml @@ -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 }} diff --git a/charts/argo/templates/workflow-controller-deployment.yaml b/charts/argo/templates/workflow-controller-deployment.yaml index ca80c816..5c7efc93 100644 --- a/charts/argo/templates/workflow-controller-deployment.yaml +++ b/charts/argo/templates/workflow-controller-deployment.yaml @@ -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: diff --git a/charts/argo/templates/workflow-controller-minio-secret-crb.yaml b/charts/argo/templates/workflow-controller-minio-secret-crb.yaml index 722776a4..a1dbb894 100644 --- a/charts/argo/templates/workflow-controller-minio-secret-crb.yaml +++ b/charts/argo/templates/workflow-controller-minio-secret-crb.yaml @@ -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 }} \ No newline at end of file +{{- end }} diff --git a/charts/argo/templates/workflow-controller-service.yaml b/charts/argo/templates/workflow-controller-service.yaml index 7985a54c..0c2613c4 100644 --- a/charts/argo/templates/workflow-controller-service.yaml +++ b/charts/argo/templates/workflow-controller-service.yaml @@ -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 }} diff --git a/charts/argo/templates/workflow-controller-servicemonitor.yaml b/charts/argo/templates/workflow-controller-servicemonitor.yaml index 425fedac..2be5d51f 100644 --- a/charts/argo/templates/workflow-controller-servicemonitor.yaml +++ b/charts/argo/templates/workflow-controller-servicemonitor.yaml @@ -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 }} diff --git a/charts/argo/templates/workflow-rb.yaml b/charts/argo/templates/workflow-rb.yaml index 17785257..07d0c005 100644 --- a/charts/argo/templates/workflow-rb.yaml +++ b/charts/argo/templates/workflow-rb.yaml @@ -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 }} diff --git a/charts/argo/templates/workflow-role.yaml b/charts/argo/templates/workflow-role.yaml index 37365f21..36e7b321 100644 --- a/charts/argo/templates/workflow-role.yaml +++ b/charts/argo/templates/workflow-role.yaml @@ -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 }}