feat(argo-cd): Add ability to annotate Deployments and StatefulSets (#1608)
* feat(argo-cd): Add ability to annotate Deployments and StatefulSets Signed-off-by: John Stewart <jstewart@rentpath.com> * fix: Controller and AppSet controller was mixed Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com> Signed-off-by: John Stewart <jstewart@rentpath.com> Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com> Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
This commit is contained in:
parent
f25cda30af
commit
b97e652f63
11 changed files with 88 additions and 7 deletions
|
@ -3,7 +3,7 @@ appVersion: v2.5.3
|
|||
kubeVersion: ">=1.22.0-0"
|
||||
description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||
name: argo-cd
|
||||
version: 5.15.2
|
||||
version: 5.16.0
|
||||
home: https://github.com/argoproj/argo-helm
|
||||
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
|
||||
sources:
|
||||
|
@ -23,7 +23,4 @@ dependencies:
|
|||
condition: redis-ha.enabled
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
- "[Changed]: ApplicationSet now automatically detects leader election"
|
||||
- "[Changed]: Simplified ApplicationSet RBAC rules"
|
||||
- "[Removed]: Configuration option applicationset.args.debug"
|
||||
- "[Removed]: Configuration option applicationset.args.enableLeaderElection"
|
||||
- "[Added]: Ability to annotate Deployment and Statefulset objects for all components"
|
||||
|
|
|
@ -376,6 +376,7 @@ NAME: my-release
|
|||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| global.additionalLabels | object | `{}` | Common labels for the all resources |
|
||||
| global.deploymentAnnotations | object | `{}` | Annotations for the all deployed Deployments |
|
||||
| global.hostAliases | list | `[]` | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files |
|
||||
| global.image.imagePullPolicy | string | `"IfNotPresent"` | If defined, a imagePullPolicy applied to all Argo CD deployments |
|
||||
| global.image.repository | string | `"quay.io/argoproj/argocd"` | If defined, a repository applied to all Argo CD deployments |
|
||||
|
@ -389,6 +390,7 @@ NAME: my-release
|
|||
| global.podLabels | object | `{}` | Labels for the all deployed pods |
|
||||
| global.revisionHistoryLimit | int | `3` | Number of old deployment ReplicaSets to retain. The rest will be garbage collected. |
|
||||
| global.securityContext | object | `{}` (See [values.yaml]) | Toggle and define pod-level security context. |
|
||||
| global.statefulsetAnnotations | object | `{}` | Annotations for the all deployed Statefulsets |
|
||||
|
||||
## Argo CD Configs
|
||||
|
||||
|
@ -506,6 +508,7 @@ NAME: my-release
|
|||
| controller.serviceAccount.create | bool | `true` | Create a service account for the application controller |
|
||||
| controller.serviceAccount.labels | object | `{}` | Labels applied to created service account |
|
||||
| controller.serviceAccount.name | string | `"argocd-application-controller"` | Service account name |
|
||||
| controller.statefulsetAnnotations | object | `{}` | Annotations for the application controller StatefulSet |
|
||||
| controller.tolerations | list | `[]` | [Tolerations] for use with node taints |
|
||||
| controller.topologySpreadConstraints | list | `[]` | Assign custom [TopologySpreadConstraints] rules to the application controller |
|
||||
| controller.volumeMounts | list | `[]` | Additional volumeMounts to the application controller main container |
|
||||
|
@ -533,6 +536,7 @@ NAME: my-release
|
|||
| repoServer.clusterRoleRules.rules | list | `[]` | List of custom rules for the Repo server's Cluster Role resource |
|
||||
| repoServer.containerPort | int | `8081` | Configures the repo server port |
|
||||
| repoServer.containerSecurityContext | object | See [values.yaml] | Repo server container-level security context |
|
||||
| repoServer.deploymentAnnotations | object | `{}` | Annotations to be added to repo server Deployment |
|
||||
| repoServer.env | list | `[]` | Environment variables to pass to repo server |
|
||||
| repoServer.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to repo server |
|
||||
| repoServer.extraArgs | list | `[]` | Additional command line arguments to pass to repo server |
|
||||
|
@ -632,6 +636,7 @@ NAME: my-release
|
|||
| server.clusterAdminAccess.enabled | bool | `true` | Enable RBAC for local cluster deployments |
|
||||
| server.containerPort | int | `8080` | Configures the server port |
|
||||
| server.containerSecurityContext | object | See [values.yaml] | Server container-level security context |
|
||||
| server.deploymentAnnotations | object | `{}` | Annotations to be added to server Deployment |
|
||||
| server.env | list | `[]` | Environment variables to pass to Argo CD server |
|
||||
| server.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to Argo CD server |
|
||||
| server.extensions.containerSecurityContext | object | See [values.yaml] | Server UI extensions container-level security context |
|
||||
|
@ -775,6 +780,7 @@ server:
|
|||
| dex.containerPortHttp | int | `5556` | Container port for HTTP access |
|
||||
| dex.containerPortMetrics | int | `5558` | Container port for metrics access |
|
||||
| dex.containerSecurityContext | object | See [values.yaml] | Dex container-level security context |
|
||||
| dex.deploymentAnnotations | object | `{}` | Annotations to be added to the Dex server Deployment |
|
||||
| dex.enabled | bool | `true` | Enable dex |
|
||||
| dex.env | list | `[]` | Environment variables to pass to the Dex server |
|
||||
| dex.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the Dex server |
|
||||
|
@ -848,6 +854,7 @@ server:
|
|||
| redis.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
|
||||
| redis.containerPort | int | `6379` | Redis container port |
|
||||
| redis.containerSecurityContext | object | See [values.yaml] | Redis container-level security context |
|
||||
| redis.deploymentAnnotations | object | `{}` | Annotations to be added to the Redis server Deployment |
|
||||
| redis.enabled | bool | `true` | Enable redis |
|
||||
| redis.env | list | `[]` | Environment variables to pass to the Redis server |
|
||||
| redis.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the Redis server |
|
||||
|
@ -955,6 +962,7 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
|
|||
| applicationSet.args.policy | string | `"sync"` | How application is synced between the generator and the cluster |
|
||||
| applicationSet.args.probeBindAddr | string | `":8081"` | The default health check port |
|
||||
| applicationSet.containerSecurityContext | object | See [values.yaml] | ApplicationSet controller container-level security context |
|
||||
| applicationSet.deploymentAnnotations | object | `{}` | Annotations to be added to ApplicationSet controller Deployment |
|
||||
| applicationSet.enabled | bool | `true` | Enable ApplicationSet controller |
|
||||
| applicationSet.extraArgs | list | `[]` | List of extra cli args to add |
|
||||
| applicationSet.extraContainers | list | `[]` | Additional containers to be added to the applicationset controller pod |
|
||||
|
@ -1056,6 +1064,7 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
|
|||
| notifications.cm.create | bool | `true` | Whether helm chart creates controller config map |
|
||||
| notifications.containerSecurityContext | object | See [values.yaml] | Notification controller container-level security Context |
|
||||
| notifications.context | object | `{}` | Define user-defined context |
|
||||
| notifications.deploymentAnnotations | object | `{}` | Annotations to be applied to the notifications controller Deployment |
|
||||
| notifications.enabled | bool | `true` | Enable notifications controller |
|
||||
| notifications.extraArgs | list | `[]` | Extra arguments to provide to the controller |
|
||||
| notifications.extraEnv | list | `[]` | Additional container environment variables |
|
||||
|
|
8
charts/argo-cd/templates/argocd-application-controller/statefulset.yaml
Executable file → Normal file
8
charts/argo-cd/templates/argocd-application-controller/statefulset.yaml
Executable file → Normal file
|
@ -1,7 +1,13 @@
|
|||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: {{ include "argo-cd.controller.fullname" . }}
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.statefulsetAnnotations) .Values.controller.statefulsetAnnotations) }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
name: {{ template "argo-cd.controller.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
|
||||
spec:
|
||||
|
|
|
@ -2,6 +2,12 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.deploymentAnnotations) .Values.applicationSet.deploymentAnnotations) }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
name: {{ include "argo-cd.applicationSet.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
|
||||
|
|
|
@ -2,7 +2,13 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "argo-cd.notifications.fullname" . }}-bot
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.deploymentAnnotations) .Values.notifications.deploymentAnnotations) }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
name: {{ template "argo-cd.notifications.fullname" . }}-bot
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.bots.slack.name "name" .Values.notifications.bots.slack.name) | nindent 4 }}
|
||||
spec:
|
||||
|
|
|
@ -2,6 +2,12 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.deploymentAnnotations) .Values.notifications.deploymentAnnotations) }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
name: {{ include "argo-cd.notifications.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.deploymentAnnotations) .Values.repoServer.deploymentAnnotations) }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
name: {{ template "argo-cd.repoServer.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.repoServer.name "name" .Values.repoServer.name) | nindent 4 }}
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.deploymentAnnotations) .Values.server.deploymentAnnotations) }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
name: {{ template "argo-cd.server.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
|
||||
|
|
|
@ -2,6 +2,12 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.deploymentAnnotations) .Values.dex.deploymentAnnotations) }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
name: {{ template "argo-cd.dex.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.dex.name "name" .Values.dex.name) | nindent 4 }}
|
||||
|
|
|
@ -3,6 +3,12 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
{{- with (mergeOverwrite (deepCopy .Values.global.deploymentAnnotations) .Values.redis.deploymentAnnotations) }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
name: {{ include "argo-cd.redis.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.redis.name "name" .Values.redis.name) | nindent 4 }}
|
||||
|
|
|
@ -68,6 +68,12 @@ global:
|
|||
# -- Set the global logging level. One of: `debug`, `info`, `warn` or `error`
|
||||
level: info
|
||||
|
||||
# -- Annotations for the all deployed Statefulsets
|
||||
statefulsetAnnotations: {}
|
||||
|
||||
# -- Annotations for the all deployed Deployments
|
||||
deploymentAnnotations: {}
|
||||
|
||||
# -- Annotations for the all deployed pods
|
||||
podAnnotations: {}
|
||||
|
||||
|
@ -540,6 +546,9 @@ controller:
|
|||
# - secretRef:
|
||||
# name: secret-name
|
||||
|
||||
# -- Annotations for the application controller StatefulSet
|
||||
statefulsetAnnotations: {}
|
||||
|
||||
# -- Annotations to be added to application controller pods
|
||||
podAnnotations: {}
|
||||
|
||||
|
@ -846,6 +855,9 @@ dex:
|
|||
# -- Certificate data. Must contain SANs of Dex service (ie: argocd-dex-server, argocd-dex-server.argo-cd.svc)
|
||||
crt: ''
|
||||
|
||||
# -- Annotations to be added to the Dex server Deployment
|
||||
deploymentAnnotations: {}
|
||||
|
||||
# -- Annotations to be added to the Dex server pods
|
||||
podAnnotations: {}
|
||||
|
||||
|
@ -1029,6 +1041,9 @@ redis:
|
|||
# - secretRef:
|
||||
# name: secret-name
|
||||
|
||||
# -- Annotations to be added to the Redis server Deployment
|
||||
deploymentAnnotations: {}
|
||||
|
||||
# -- Annotations to be added to the Redis server pods
|
||||
podAnnotations: {}
|
||||
|
||||
|
@ -1343,6 +1358,9 @@ server:
|
|||
# @default -- `""` (defaults to global.logging.level)
|
||||
# logLevel: ""
|
||||
|
||||
# -- Annotations to be added to server Deployment
|
||||
deploymentAnnotations: {}
|
||||
|
||||
# -- Annotations to be added to server pods
|
||||
podAnnotations: {}
|
||||
|
||||
|
@ -1898,6 +1916,9 @@ repoServer:
|
|||
# @default -- `""` (defaults to global.logging.format)
|
||||
# logLevel: ""
|
||||
|
||||
# -- Annotations to be added to repo server Deployment
|
||||
deploymentAnnotations: {}
|
||||
|
||||
# -- Annotations to be added to repo server pods
|
||||
podAnnotations: {}
|
||||
|
||||
|
@ -2227,6 +2248,9 @@ applicationSet:
|
|||
# If not set and create is true, a name is generated using the fullname template
|
||||
name: ""
|
||||
|
||||
# -- Annotations to be added to ApplicationSet controller Deployment
|
||||
deploymentAnnotations: {}
|
||||
|
||||
# -- Annotations for the controller pods
|
||||
podAnnotations: {}
|
||||
|
||||
|
@ -2517,6 +2541,9 @@ notifications:
|
|||
# service.slack: |
|
||||
# token: $slack-token
|
||||
|
||||
# -- Annotations to be applied to the notifications controller Deployment
|
||||
deploymentAnnotations: {}
|
||||
|
||||
# -- Annotations to be applied to the controller Pods
|
||||
podAnnotations: {}
|
||||
|
||||
|
|
Loading…
Reference in a new issue