diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 810cd4f8..eeaaec25 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.6.1" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 2.4.0 +version: 2.5.1 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png keywords: diff --git a/charts/argo-cd/README.md b/charts/argo-cd/README.md index de926d7a..0318e13d 100644 --- a/charts/argo-cd/README.md +++ b/charts/argo-cd/README.md @@ -206,6 +206,12 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i | server.ingress.hosts | List of ingress hosts | `[]` | | server.ingress.labels | Additional ingress labels. | `{}` | | server.ingress.tls | Ingress TLS configuration. | `[]` | +| server.ingress.https | Uses `server.service.servicePortHttps` instead `server.service.servicePortHttp` | `false` | +| server.ingressGrpc.annotations | Additional ingress annotations for dedicated [gRPC-ingress] | `{}` | +| server.ingressGrpc.enabled | Enable an ingress resource for the server for dedicated [gRPC-ingress] | `false` | +| server.ingressGrpc.hosts | List of ingress hosts for dedicated [gRPC-ingress] | `[]` | +| server.ingressGrpc.labels | Additional ingress labels for dedicated [gRPC-ingress] | `{}` | +| server.ingressGrpc.tls | Ingress TLS configuration for dedicated [gRPC-ingress] | `[]` | | server.route.enabled | Enable a OpenShift route for the server | `false` | | server.route.hostname | Hostname of OpenShift route | `""` | | server.livenessProbe.failureThreshold | [Kubernetes probe configuration](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes) | `3` | @@ -312,3 +318,5 @@ through `xxx.extraArgs` | redis-ha.haproxy.enabled | Enabled HAProxy LoadBalancing/Proxy | `true` | | redis-ha.haproxy.metrics.enabled | HAProxy enable prometheus metric scraping | `true` | | redis-ha.image.tag | Redis tag | `"5.0.8-alpine"` | + +[gRPC-ingress]: https://argoproj.github.io/argo-cd/operator-manual/ingress/ \ No newline at end of file diff --git a/charts/argo-cd/templates/argocd-application-controller/deployment.yaml b/charts/argo-cd/templates/argocd-application-controller/deployment.yaml index 97119083..b1bcdeaa 100755 --- a/charts/argo-cd/templates/argocd-application-controller/deployment.yaml +++ b/charts/argo-cd/templates/argocd-application-controller/deployment.yaml @@ -121,3 +121,6 @@ spec: volumes: {{- toYaml .Values.controller.volumes | nindent 8 }} {{- end }} +{{- if .Values.controller.priorityClassName }} + priorityClassName: {{ .Values.controller.priorityClassName }} +{{- end }} diff --git a/charts/argo-cd/templates/argocd-repo-server/deployment.yaml b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml index 9268cc65..8aed308e 100755 --- a/charts/argo-cd/templates/argocd-repo-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml @@ -152,3 +152,6 @@ spec: initContainers: {{- toYaml .Values.repoServer.initContainers | nindent 6 }} {{- end }} +{{- if .Values.repoServer.priorityClassName }} + priorityClassName: {{ .Values.repoServer.priorityClassName }} +{{- end }} diff --git a/charts/argo-cd/templates/argocd-server/deployment.yaml b/charts/argo-cd/templates/argocd-server/deployment.yaml index d73e3df4..ca7c9ba4 100755 --- a/charts/argo-cd/templates/argocd-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-server/deployment.yaml @@ -151,3 +151,6 @@ spec: name: argocd-tls-certs-cm name: tls-certs {{- end }} +{{- if .Values.server.priorityClassName }} + priorityClassName: {{ .Values.server.priorityClassName }} +{{- end }} diff --git a/charts/argo-cd/templates/argocd-server/ingress-grpc.yaml b/charts/argo-cd/templates/argocd-server/ingress-grpc.yaml new file mode 100644 index 00000000..42538d61 --- /dev/null +++ b/charts/argo-cd/templates/argocd-server/ingress-grpc.yaml @@ -0,0 +1,57 @@ +{{- if .Values.server.ingressGrpc.enabled -}} +{{- $serviceName := include "argo-cd.server.fullname" . -}} +{{- $servicePort := ternary .Values.server.service.servicePortHttps .Values.server.service.servicePortHttp .Values.server.ingressGrpc.https -}} +{{- $paths := .Values.server.ingressGrpc.paths -}} +{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }} +apiVersion: networking.k8s.io/v1beta1 +{{ else }} +apiVersion: extensions/v1beta1 +{{ end -}} +kind: Ingress +metadata: +{{- if .Values.server.ingressGrpc.annotations }} + annotations: + {{- range $key, $value := .Values.server.ingressGrpc.annotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} +{{- end }} + name: {{ template "argo-cd.server.fullname" . }}-grpc + labels: + app.kubernetes.io/name: {{ include "argo-cd.name" . }}-{{ .Values.server.name }} + helm.sh/chart: {{ include "argo-cd.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/part-of: argocd + app.kubernetes.io/component: {{ .Values.server.name }} +{{- if .Values.server.ingressGrpc.labels }} +{{- toYaml .Values.server.ingressGrpc.labels | nindent 4 }} +{{- end }} +spec: + rules: + {{- if .Values.server.ingressGrpc.hosts }} + {{- range $host := .Values.server.ingressGrpc.hosts }} + - host: {{ $host }} + http: + paths: + {{- range $p := $paths }} + - path: {{ $p }} + backend: + serviceName: {{ $serviceName }} + servicePort: {{ $servicePort }} + {{- end -}} + {{- end -}} + {{- else }} + - http: + paths: + {{- range $p := $paths }} + - path: {{ $p }} + backend: + serviceName: {{ $serviceName }} + servicePort: {{ $servicePort }} + {{- end -}} + {{- end -}} + {{- if .Values.server.ingressGrpc.tls }} + tls: +{{- toYaml .Values.server.ingressGrpc.tls | nindent 4 }} + {{- end -}} +{{- end -}} \ No newline at end of file diff --git a/charts/argo-cd/templates/argocd-server/ingress.yaml b/charts/argo-cd/templates/argocd-server/ingress.yaml index df2f93ce..056776a4 100644 --- a/charts/argo-cd/templates/argocd-server/ingress.yaml +++ b/charts/argo-cd/templates/argocd-server/ingress.yaml @@ -1,6 +1,6 @@ {{- if .Values.server.ingress.enabled -}} {{- $serviceName := include "argo-cd.server.fullname" . -}} -{{- $servicePort := .Values.server.service.servicePortHttp -}} +{{- $servicePort := ternary .Values.server.service.servicePortHttps .Values.server.service.servicePortHttp .Values.server.ingress.https -}} {{- $paths := .Values.server.ingress.paths -}} {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }} apiVersion: networking.k8s.io/v1beta1 diff --git a/charts/argo-cd/templates/dex/deployment.yaml b/charts/argo-cd/templates/dex/deployment.yaml index d2fde3e3..5bae8b18 100755 --- a/charts/argo-cd/templates/dex/deployment.yaml +++ b/charts/argo-cd/templates/dex/deployment.yaml @@ -103,4 +103,7 @@ spec: volumes: {{- toYaml .Values.dex.volumes | nindent 8}} {{- end }} +{{- if .Values.dex.priorityClassName }} + priorityClassName: {{ .Values.dex.priorityClassName }} +{{- end }} {{- end }} diff --git a/charts/argo-cd/templates/redis/deployment.yaml b/charts/argo-cd/templates/redis/deployment.yaml index 7531f6d2..e5c673de 100755 --- a/charts/argo-cd/templates/redis/deployment.yaml +++ b/charts/argo-cd/templates/redis/deployment.yaml @@ -85,4 +85,7 @@ spec: volumes: {{- toYaml .Values.redis.volumes | nindent 8}} {{- end }} +{{- if .Values.redis.priorityClassName }} + priorityClassName: {{ .Values.redis.priorityClassName }} +{{- end }} {{- end }} diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index ad0ebed3..3eee07d1 100755 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -452,6 +452,29 @@ server: # - secretName: argocd-example-tls # hosts: # - argocd.example.com + https: false + # dedicated ingess for gRPC as documented at + # https://argoproj.github.io/argo-cd/operator-manual/ingress/ + ingressGrpc: + enabled: false + annotations: {} + labels: {} + + ## Argo Ingress. + ## Hostnames must be provided if Ingress is enabled. + ## Secrets must be manually created in the namespace + ## + hosts: + [] + # - argocd.example.com + paths: + - / + tls: + [] + # - secretName: argocd-example-tls + # hosts: + # - argocd.example.com + https: false # Create a OpenShift Route with SSL passthrough for UI and CLI # Consider setting 'hostname' e.g. https://argocd.apps-crc.testing/ using your Default Ingress Controller Domain diff --git a/charts/argo-rollouts/values.yaml b/charts/argo-rollouts/values.yaml index 9f86dc19..43f50442 100644 --- a/charts/argo-rollouts/values.yaml +++ b/charts/argo-rollouts/values.yaml @@ -17,6 +17,15 @@ controller: tag: v0.8.0 pullPolicy: IfNotPresent + resources: {} + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 50m + # memory: 64Mi + + serviceAccount: name: argo-rollouts diff --git a/charts/argocd-notifications/Chart.yaml b/charts/argocd-notifications/Chart.yaml index 54ef9a84..64d77c9a 100644 --- a/charts/argocd-notifications/Chart.yaml +++ b/charts/argocd-notifications/Chart.yaml @@ -3,7 +3,7 @@ appVersion: 0.7.0 description: A Helm chart for ArgoCD notifications, an add-on to ArgoCD. name: argocd-notifications type: application -version: 1.0.4 +version: 1.0.7 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png keywords: diff --git a/charts/argocd-notifications/templates/_helpers.tpl b/charts/argocd-notifications/templates/_helpers.tpl index 7540cf20..18235d26 100644 --- a/charts/argocd-notifications/templates/_helpers.tpl +++ b/charts/argocd-notifications/templates/_helpers.tpl @@ -87,7 +87,7 @@ Create the name of the bot service account to use */}} {{- define "argocd-notifications.bots.slack.serviceAccountName" -}} {{- if .Values.bots.slack.serviceAccount.create -}} - {{ default (include "argocd-notifications.fullname" .) .Values.bots.slack.serviceAccount.name }} + {{ default (printf "%s-bot" (include "argocd-notifications.fullname" .)) .Values.bots.slack.serviceAccount.name }} {{- else -}} {{ default "default" .Values.bots.slack.serviceAccount.name }} {{- end -}} diff --git a/charts/argocd-notifications/templates/bots/slack/deployment.yaml b/charts/argocd-notifications/templates/bots/slack/deployment.yaml index c53efb74..284d3c10 100644 --- a/charts/argocd-notifications/templates/bots/slack/deployment.yaml +++ b/charts/argocd-notifications/templates/bots/slack/deployment.yaml @@ -20,7 +20,7 @@ spec: imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} - serviceAccountName: {{ include "argocd-notifications.serviceAccountName" . }}-bot + serviceAccountName: {{ include "argocd-notifications.bots.slack.serviceAccountName" . }} containers: - name: {{ include "argocd-notifications.name" . }}-bot image: "{{ .Values.bots.slack.image.repository }}:{{ .Values.bots.slack.image.tag }}" diff --git a/charts/argocd-notifications/templates/bots/slack/role.yaml b/charts/argocd-notifications/templates/bots/slack/role.yaml index 5127fcac..b509f6d4 100644 --- a/charts/argocd-notifications/templates/bots/slack/role.yaml +++ b/charts/argocd-notifications/templates/bots/slack/role.yaml @@ -15,4 +15,13 @@ rules: - watch - update - patch +- apiGroups: + - "" + resources: + - secrets + - configmaps + verbs: + - get + - list + - watch {{ end }} diff --git a/charts/argocd-notifications/templates/bots/slack/serviceaccount.yaml b/charts/argocd-notifications/templates/bots/slack/serviceaccount.yaml index ce28ad58..badee60f 100644 --- a/charts/argocd-notifications/templates/bots/slack/serviceaccount.yaml +++ b/charts/argocd-notifications/templates/bots/slack/serviceaccount.yaml @@ -1,4 +1,4 @@ -{{ if and .Values.bots.slack.enabled .Values.secret.create }} +{{- if .Values.bots.slack.serviceAccount.create }} apiVersion: v1 kind: ServiceAccount metadata: diff --git a/charts/argocd-notifications/templates/secret.yaml b/charts/argocd-notifications/templates/secret.yaml index a5fc5527..74c76992 100644 --- a/charts/argocd-notifications/templates/secret.yaml +++ b/charts/argocd-notifications/templates/secret.yaml @@ -12,7 +12,7 @@ stringData: slack: token: {{ .Values.secret.notifiers.slack.token }} username: {{ .Values.secret.notifiers.slack.username }} - icon: {{ .Values.secret.notifiers.slack.icon }} + icon: {{ .Values.secret.notifiers.slack.icon | quote }} signingSecret: {{ .Values.secret.notifiers.slack.signingSecret }} {{- end }} {{- if .Values.secret.notifiers.grafana.enabled }} @@ -27,4 +27,13 @@ stringData: {{- $v | toYaml | nindent 8 }} {{- end }} {{- end }} +{{- if .Values.secret.notifiers.email.enabled }} + email: + host: {{ .Values.secret.notifiers.email.host | quote }} + port: {{ .Values.secret.notifiers.email.port }} + insecure_skip_verify: {{ .Values.secret.notifiers.email.insecure_skip_verify }} + username: {{ .Values.secret.notifiers.email.username | quote }} + password: {{ .Values.secret.notifiers.email.password | quote }} + from: {{ .Values.secret.notifiers.email.from | quote }} +{{- end }} {{ end }} diff --git a/charts/argocd-notifications/templates/serviceaccount.yaml b/charts/argocd-notifications/templates/serviceaccount.yaml index 5181c5a4..591d13bd 100644 --- a/charts/argocd-notifications/templates/serviceaccount.yaml +++ b/charts/argocd-notifications/templates/serviceaccount.yaml @@ -1,6 +1,8 @@ +{{- if .Values.serviceAccount.create }} apiVersion: v1 kind: ServiceAccount metadata: name: {{ include "argocd-notifications.serviceAccountName" . }} labels: {{- include "argocd-notifications.labels" . | nindent 4 }} +{{- end }} diff --git a/charts/argocd-notifications/values.yaml b/charts/argocd-notifications/values.yaml index d7769bf7..fe732362 100644 --- a/charts/argocd-notifications/values.yaml +++ b/charts/argocd-notifications/values.yaml @@ -69,6 +69,24 @@ secret: # username: username # password: mypassword + email: + # For more information: https://argoproj-labs.github.io/argocd-notifications/services/overview/ + + # Specifies whether email notifier should be configured + enabled: false + # SMTP endpoint + host: + # SMTP port + port: + # enable/disable check on TLS certificate + insecure_skip_verify: + # SMTP username + username: + # SMTP password + password: + # email address in from field + from: + resources: {} # limits: # cpu: 100m