feat(argo-cd): Update to use v2.3.1 release (#1162)

* feat(argo-cd): Update to use v2.3.1 release

Signed-off-by: mikeeq <miotk.mikolaj@gmail.com>

* Move applicationSet.* and notifications.* to a dedicated location

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Fix typo in deployment.yaml

Signed-off-by: mikeeq <miotk.mikolaj@gmail.com>

* Fix notifications bot deployment

Signed-off-by: mikeeq <miotk.mikolaj@gmail.com>

* Update README.md

Signed-off-by: mikeeq <miotk.mikolaj@gmail.com>

* Update README.md and fix slack bot image

Signed-off-by: mikeeq <miotk.mikolaj@gmail.com>

* Drop nameOverride for new components as we use the global one

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Drop "applicationSet.args.namespace" and "applicationSet.args.argocdRepoServer"

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Consistent use of volumes (gpg, tls, knownHosts, extra)

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Bump major chart version and place a note in teh Upgrading section

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Change "enableStatefulSet: true" as we are in a major release now

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Drop PSP of applicationSet

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Fix applicationset webhook-ingress

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Drop unused variables in values.yaml and README

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Also set namespace and argocd-repo-server args on notification-controller

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Consistent use of "Argo CD" instead of "ArgoCD"

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Trigger CI

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:
Mikołaj Miotk 2022-03-16 22:01:30 +01:00 committed by GitHub
parent c8f0471bd0
commit 32a06059c3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 8325 additions and 64 deletions

View file

@ -1,4 +1,4 @@
## ArgoCD configuration
## Argo CD configuration
## Ref: https://github.com/argoproj/argo-cd
##
@ -11,11 +11,11 @@ kubeVersionOverride: ""
global:
image:
# -- If defined, a repository applied to all ArgoCD deployments
# -- If defined, a repository applied to all Argo CD deployments
repository: quay.io/argoproj/argocd
# -- Overrides the global ArgoCD image tag whose default is the chart appVersion
# -- Overrides the global Argo CD image tag whose default is the chart appVersion
tag: ""
# -- If defined, a imagePullPolicy applied to all ArgoCD deployments
# -- If defined, a imagePullPolicy applied to all Argo CD deployments
imagePullPolicy: IfNotPresent
# -- Annotations for the all deployed pods
podAnnotations: {}
@ -107,8 +107,7 @@ controller:
replicas: 1
# -- Deploy the application controller as a StatefulSet instead of a Deployment, this is required for HA capability.
# This is a feature flag that will become the default in chart version 3.x
enableStatefulSet: false
enableStatefulSet: true
## Application controller commandline flags
args:
@ -288,9 +287,9 @@ controller:
# labels:
# severity: critical
# annotations:
# summary: "[ArgoCD] No reported applications"
# summary: "[Argo CD] No reported applications"
# description: >
# ArgoCD has not reported any applications data for the past 15 minutes which
# Argo CD has not reported any applications data for the past 15 minutes which
# means that it must be down or not functioning properly. This needs to be
# resolved for this cloud to continue to maintain state.
# - alert: ArgoAppNotSynced
@ -310,7 +309,7 @@ controller:
# namespace: monitoring
# additionalLabels: {}
## Enable if you would like to grant rights to ArgoCD to deploy to the local Kubernetes cluster.
## Enable if you would like to grant rights to Argo CD to deploy to the local Kubernetes cluster.
clusterAdminAccess:
# -- Enable RBAC for local cluster deployments
enabled: true
@ -329,7 +328,7 @@ controller:
# -- Init containers to add to the application controller pod
## If your target Kubernetes cluster(s) require a custom auth provider executable
## you could use this (and the same in the server pod) to bootstrap
## that executable into your ArgoCD container
## that executable into your Argo CD container
initContainers: []
# - name: download-tools
# image: alpine:3.8
@ -1134,7 +1133,7 @@ server:
# -- Termination policy of Openshift Route
termination_policy: None
# -- Manage ArgoCD configmap (Declarative Setup)
# -- Manage Argo CD configmap (Declarative Setup)
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-cm.yaml
configEnabled: true
# -- [General Argo CD configuration]
@ -1171,10 +1170,10 @@ server:
# - profile
# - email
# -- Annotations to be added to ArgoCD ConfigMap
# -- Annotations to be added to Argo CD ConfigMap
configAnnotations: {}
# -- ArgoCD rbac config ([ArgoCD RBAC policy])
# -- Argo CD rbac config ([Argo CD RBAC policy])
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/rbac.md
rbacConfig:
{}
@ -1197,14 +1196,14 @@ server:
# If omitted, defaults to: '[groups]'. The scope value can be a string, or a list of strings.
# scopes: '[cognito:groups, email]'
# -- Annotations to be added to ArgoCD rbac ConfigMap
# -- Annotations to be added to Argo CD rbac ConfigMap
rbacConfigAnnotations: {}
# -- Whether or not to create the configmap. If false, it is expected the configmap will be created
# by something else. ArgoCD will not work if there is no configMap created with the name above.
# by something else. Argo CD will not work if there is no configMap created with the name above.
rbacConfigCreate: true
# -- Deploy ArgoCD Applications within this helm release
# -- Deploy Argo CD Applications within this helm release
# @default -- `[]` (See [values.yaml])
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
additionalApplications: []
@ -1237,7 +1236,7 @@ server:
# - name: url
# value: https://argoproj.github.io/
# -- Deploy ArgoCD Projects within this helm release
# -- Deploy Argo CD Projects within this helm release
# @default -- `[]` (See [values.yaml])
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
additionalProjects: []
@ -1281,7 +1280,7 @@ server:
# - keyID: ABCDEF1234567890
## Enable Admin ClusterRole resources.
## Enable if you would like to grant rights to ArgoCD to deploy to the local Kubernetes cluster.
## Enable if you would like to grant rights to Argo CD to deploy to the local Kubernetes cluster.
clusterAdminAccess:
# -- Enable RBAC for local cluster deployments
enabled: true
@ -1345,7 +1344,7 @@ server:
# -- Init containers to add to the server pod
## If your target Kubernetes cluster(s) require a custom auth provider executable
## you could use this (and the same in the application controller pod) to bootstrap
## that executable into your ArgoCD container
## that executable into your Argo CD container
initContainers: []
# - name: download-tools
# image: alpine:3.8
@ -1571,7 +1570,7 @@ repoServer:
additionalLabels: {}
## Enable Admin ClusterRole resources.
## Enable if you would like to grant cluster rights to ArgoCD repo server.
## Enable if you would like to grant cluster rights to Argo CD repo server.
clusterAdminAccess:
# -- Enable RBAC for local cluster deployments
enabled: false
@ -1861,3 +1860,672 @@ configs:
openshift:
# -- enables using arbitrary uid for argo repo server
enabled: false
applicationSet:
# -- Application Set controller name string
name: applicationset-controller
# -- The number of controller pods to run
replicaCount: 1
image:
# -- Repository to use for the application set controller
repository: quay.io/argoproj/argocd-applicationset
# -- Image pull policy for the application set controller
pullPolicy: IfNotPresent
# -- Tag to use for the application set controller
tag: "v0.4.1"
args:
# -- The default metric address
metricsAddr: :8080
# -- The default health check port
probeBindAddr: :8081
# -- The default leader election setting
enableLeaderElection: false
# -- How application is synced between the generator and the cluster
policy: sync
# -- Print debug logs
debug: false
# -- Enable dry run mode
dryRun: false
# -- Additional containers to be added to the applicationset controller pod
extraContainers: []
## Metrics service configuration
metrics:
# -- Deploy metrics service
enabled: false
service:
# -- Metrics service annotations
annotations: {}
# -- Metrics service labels
labels: {}
# -- Metrics service port
servicePort: 8085
serviceMonitor:
# -- Enable a prometheus ServiceMonitor
enabled: false
# -- Prometheus ServiceMonitor interval
interval: 30s
# -- Prometheus [RelabelConfigs] to apply to samples before scraping
relabelings: []
# -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
metricRelabelings: []
# -- Prometheus ServiceMonitor selector
selector: {}
# prometheus: kube-prometheus
# -- Prometheus ServiceMonitor namespace
namespace: "" # monitoring
# -- Prometheus ServiceMonitor labels
additionalLabels: {}
# -- If defined, uses a Secret to pull an image from a private Docker registry or repository.
imagePullSecrets: []
## Application set service configuration
service:
# -- Application set service annotations
annotations: {}
# -- Application set service labels
labels: {}
# -- Application set service port
port: 7000
# -- Application set service port name
portName: webhook
serviceAccount:
# -- Specifies whether a service account should be created
create: true
# -- Annotations to add to the service account
annotations: {}
# -- The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
# -- Annotations for the controller pods
podAnnotations: {}
# -- Labels for the controller pods
podLabels: {}
# -- Pod Security Context
podSecurityContext: {}
# fsGroup: 2000
# -- Security Context
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
# -- Resource limits and requests for the controller pods.
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
# -- [Node selector]
nodeSelector: {}
# -- [Tolerations] for use with node taints
tolerations: []
# -- Assign custom [affinity] rules
affinity: {}
# -- If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.
priorityClassName: ""
# -- List of extra mounts to add (normally used with extraVolumes)
extraVolumeMounts: []
# - mountPath: /tmp/foobar
# name: foobar
# -- List of extra volumes to add
extraVolumes: []
# - name: foobar
# emptyDir: {}
# -- List of extra cli args to add
extraArgs: []
# - --loglevel=warn
# -- Environment variables to pass to the controller
extraEnv: []
# - name: "MY_VAR"
# value: "value"
# -- envFrom to pass to the controller
# @default -- `[]` (See [values.yaml])
extraEnvFrom: []
# - configMapRef:
# name: config-map-name
# - secretRef:
# name: secret-name
## Webhook for the Git Generator
## Ref: https://argocd-applicationset.readthedocs.io/en/master/Generators-Git/#webhook-configuration)
webhook:
ingress:
# -- Enable an ingress resource for Webhooks
enabled: false
# -- Additional ingress annotations
annotations: {}
# -- Additional ingress labels
labels: {}
# -- Defines which ingress controller will implement the resource
ingressClassName: ""
# -- List of ingress hosts
## Hostnames must be provided if Ingress is enabled.
## Secrets must be manually created in the namespace
hosts: []
# - argocd-applicationset.example.com
# -- List of ingress paths
paths:
- /api/webhook
# -- Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific`
pathType: Prefix
# -- Additional ingress paths
extraPaths: []
# - path: /*
# backend:
# serviceName: ssl-redirect
# servicePort: use-annotation
## for Kubernetes >=1.19 (when "networking.k8s.io/v1" is used)
# - path: /*
# pathType: Prefix
# backend:
# service:
# name: ssl-redirect
# port:
# name: use-annotation
# -- Ingress TLS configuration
tls: []
# - secretName: argocd-applicationset-tls
# hosts:
# - argocd-applicationset.example.com
notifications:
# -- Notifications controller name string
name: notifications-controller
# -- Assign custom [affinity] rules
affinity: {}
# -- Argo CD dashboard url; used in place of {{.context.argocdUrl}} in templates
argocdUrl:
image:
# -- Repository to use for the notifications controller
# @default -- `""` (defaults to global.image.repository)
repository: ""
# -- Tag to use for the notifications controller
# @default -- `""` (defaults to global.image.tag)
tag: ""
# -- Image pull policy for the notifications controller
# @default -- `""` (defaults to global.image.imagePullPolicy)
imagePullPolicy: ""
# -- Secrets with credentials to pull images from a private registry
imagePullSecrets: []
# -- [Node selector]
nodeSelector: {}
# -- The deployment strategy to use to replace existing pods with new ones
updateStrategy:
type: Recreate
# -- Define user-defined context
## For more information: https://argocd-notifications.readthedocs.io/en/stable/templates/#defining-user-defined-context
context: {}
# region: east
# environmentName: staging
secret:
# -- Whether helm chart creates controller secret
create: true
# -- key:value pairs of annotations to be added to the secret
annotations: {}
# -- The name of the secret to use.
## If not set and create is true, the default name 'argocd-notifications-secret' is used
name: ""
# -- Generic key:value pairs to be inserted into the secret
## Can be used for templates, notification services etc. Some examples given below.
## For more information: https://argocd-notifications.readthedocs.io/en/stable/services/overview/
items: {}
# slack-token:
# # For more information: https://argocd-notifications.readthedocs.io/en/stable/services/slack/
# grafana-apiKey:
# # For more information: https://argocd-notifications.readthedocs.io/en/stable/services/grafana/
# webhooks-github-token:
# email-username:
# email-password:
# For more information: https://argocd-notifications.readthedocs.io/en/stable/services/email/
# -- Set the logging level. (One of: `debug`, `info`, `warn`, `error`)
logLevel: info
# -- Extra arguments to provide to the controller
extraArgs: []
# -- Additional container environment variables
extraEnv: []
# -- List of extra mounts to add (normally used with extraVolumes)
extraVolumeMounts: []
# - mountPath: /tmp/foobar
# name: foobar
# -- List of extra volumes to add
extraVolumes: []
# - name: foobar
# emptyDir: {}
metrics:
# -- Enables prometheus metrics server
enabled: false
# -- Metrics port
port: 9001
service:
# -- Metrics service annotations
annotations: {}
# -- Metrics service labels
labels: {}
serviceMonitor:
# -- Enable a prometheus ServiceMonitor
enabled: false
# -- Prometheus ServiceMonitor labels
additionalLabels: {}
# namespace: monitoring
# interval: 30s
# scrapeTimeout: 10s
# -- Configures notification services
# @default -- See [values.yaml]
## For more information: https://argocd-notifications.readthedocs.io/en/stable/services/overview/
notifiers:
service.slack: |
token: $slack-token
# -- Annotations to be applied to the controller Pods
podAnnotations: {}
# -- Labels to be applied to the controller Pods
podLabels: {}
# -- Pod Security Context
securityContext:
runAsNonRoot: true
# -- Container Security Context
containerSecurityContext: {}
# -- Resource limits and requests for the controller
resources: {}
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
serviceAccount:
# -- Specifies whether a service account should be created
create: true
# -- The name of the service account to use.
## If not set and create is true, a name is generated using the fullname template
name: argocd-notifications-controller
# -- Annotations applied to created service account
annotations: {}
cm:
# -- Whether helm chart creates controller config map
create: true
# -- The name of the config map to use.
## If not set and create is true, the default name 'argocd-notifications-cm' is used
name: ""
# -- Contains centrally managed global application subscriptions
## For more information: https://argocd-notifications.readthedocs.io/en/stable/subscriptions/
subscriptions: {}
# # subscription for on-sync-status-unknown trigger notifications
# - recipients:
# - slack:test2
# - email:test@gmail.com
# triggers:
# - on-sync-status-unknown
# # subscription restricted to applications with matching labels only
# - recipients:
# - slack:test3
# selector: test=true
# triggers:
# - on-sync-status-unknown
# -- The notification template is used to generate the notification content
## For more information: https://argocd-notifications.readthedocs.io/en/stable/templates/
templates: {}
# template.app-deployed: |
# email:
# subject: New version of an application {{.app.metadata.name}} is up and running.
# message: |
# {{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} is now running new version of deployments manifests.
# slack:
# attachments: |
# [{
# "title": "{{ .app.metadata.name}}",
# "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
# "color": "#18be52",
# "fields": [
# {
# "title": "Sync Status",
# "value": "{{.app.status.sync.status}}",
# "short": true
# },
# {
# "title": "Repository",
# "value": "{{.app.spec.source.repoURL}}",
# "short": true
# },
# {
# "title": "Revision",
# "value": "{{.app.status.sync.revision}}",
# "short": true
# }
# {{range $index, $c := .app.status.conditions}}
# {{if not $index}},{{end}}
# {{if $index}},{{end}}
# {
# "title": "{{$c.type}}",
# "value": "{{$c.message}}",
# "short": true
# }
# {{end}}
# ]
# }]
# template.app-health-degraded: |
# email:
# subject: Application {{.app.metadata.name}} has degraded.
# message: |
# {{if eq .serviceType "slack"}}:exclamation:{{end}} Application {{.app.metadata.name}} has degraded.
# Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
# slack:
# attachments: |-
# [{
# "title": "{{ .app.metadata.name}}",
# "title_link": "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
# "color": "#f4c030",
# "fields": [
# {
# "title": "Sync Status",
# "value": "{{.app.status.sync.status}}",
# "short": true
# },
# {
# "title": "Repository",
# "value": "{{.app.spec.source.repoURL}}",
# "short": true
# }
# {{range $index, $c := .app.status.conditions}}
# {{if not $index}},{{end}}
# {{if $index}},{{end}}
# {
# "title": "{{$c.type}}",
# "value": "{{$c.message}}",
# "short": true
# }
# {{end}}
# ]
# }]
# template.app-sync-failed: |
# email:
# subject: Failed to sync application {{.app.metadata.name}}.
# message: |
# {{if eq .serviceType "slack"}}:exclamation:{{end}} The sync operation of application {{.app.metadata.name}} has failed at {{.app.status.operationState.finishedAt}} with the following error: {{.app.status.operationState.message}}
# Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
# slack:
# attachments: |-
# [{
# "title": "{{ .app.metadata.name}}",
# "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
# "color": "#E96D76",
# "fields": [
# {
# "title": "Sync Status",
# "value": "{{.app.status.sync.status}}",
# "short": true
# },
# {
# "title": "Repository",
# "value": "{{.app.spec.source.repoURL}}",
# "short": true
# }
# {{range $index, $c := .app.status.conditions}}
# {{if not $index}},{{end}}
# {{if $index}},{{end}}
# {
# "title": "{{$c.type}}",
# "value": "{{$c.message}}",
# "short": true
# }
# {{end}}
# ]
# }]
# template.app-sync-running: |
# email:
# subject: Start syncing application {{.app.metadata.name}}.
# message: |
# The sync operation of application {{.app.metadata.name}} has started at {{.app.status.operationState.startedAt}}.
# Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
# slack:
# attachments: |-
# [{
# "title": "{{ .app.metadata.name}}",
# "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
# "color": "#0DADEA",
# "fields": [
# {
# "title": "Sync Status",
# "value": "{{.app.status.sync.status}}",
# "short": true
# },
# {
# "title": "Repository",
# "value": "{{.app.spec.source.repoURL}}",
# "short": true
# }
# {{range $index, $c := .app.status.conditions}}
# {{if not $index}},{{end}}
# {{if $index}},{{end}}
# {
# "title": "{{$c.type}}",
# "value": "{{$c.message}}",
# "short": true
# }
# {{end}}
# ]
# }]
# template.app-sync-status-unknown: |
# email:
# subject: Application {{.app.metadata.name}} sync status is 'Unknown'
# message: |
# {{if eq .serviceType "slack"}}:exclamation:{{end}} Application {{.app.metadata.name}} sync is 'Unknown'.
# Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
# {{if ne .serviceType "slack"}}
# {{range $c := .app.status.conditions}}
# * {{$c.message}}
# {{end}}
# {{end}}
# slack:
# attachments: |-
# [{
# "title": "{{ .app.metadata.name}}",
# "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
# "color": "#E96D76",
# "fields": [
# {
# "title": "Sync Status",
# "value": "{{.app.status.sync.status}}",
# "short": true
# },
# {
# "title": "Repository",
# "value": "{{.app.spec.source.repoURL}}",
# "short": true
# }
# {{range $index, $c := .app.status.conditions}}
# {{if not $index}},{{end}}
# {{if $index}},{{end}}
# {
# "title": "{{$c.type}}",
# "value": "{{$c.message}}",
# "short": true
# }
# {{end}}
# ]
# }]
# template.app-sync-succeeded: |
# email:
# subject: Application {{.app.metadata.name}} has been successfully synced.
# message: |
# {{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} has been successfully synced at {{.app.status.operationState.finishedAt}}.
# Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
# slack:
# attachments: "[{\n \"title\": \"{{ .app.metadata.name}}\",\n \"title_link\":\"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}\",\n \"color\": \"#18be52\",\n \"fields\": [\n {\n \"title\": \"Sync Status\",\n \"value\": \"{{.app.status.sync.status}}\",\n \"short\": true\n },\n {\n \"title\": \"Repository\",\n \"value\": \"{{.app.spec.source.repoURL}}\",\n \"short\": true\n }\n {{range $index, $c := .app.status.conditions}}\n {{if not $index}},{{end}}\n {{if $index}},{{end}}\n {\n \"title\": \"{{$c.type}}\",\n \"value\": \"{{$c.message}}\",\n \"short\": true\n }\n {{end}}\n ]\n}] "
# -- [Tolerations] for use with node taints
tolerations: []
# -- The trigger defines the condition when the notification should be sent
## For more information: https://argocd-notifications.readthedocs.io/en/stable/triggers/
triggers: {}
# trigger.on-deployed: |
# - description: Application is synced and healthy. Triggered once per commit.
# oncePer: app.status.sync.revision
# send:
# - app-deployed
# when: app.status.operationState.phase in ['Succeeded'] and app.status.health.status == 'Healthy'
# trigger.on-health-degraded: |
# - description: Application has degraded
# send:
# - app-health-degraded
# when: app.status.health.status == 'Degraded'
# trigger.on-sync-failed: |
# - description: Application syncing has failed
# send:
# - app-sync-failed
# when: app.status.operationState.phase in ['Error', 'Failed']
# trigger.on-sync-running: |
# - description: Application is being synced
# send:
# - app-sync-running
# when: app.status.operationState.phase in ['Running']
# trigger.on-sync-status-unknown: |
# - description: Application status is 'Unknown'
# send:
# - app-sync-status-unknown
# when: app.status.sync.status == 'Unknown'
# trigger.on-sync-succeeded: |
# - description: Application syncing has succeeded
# send:
# - app-sync-succeeded
# when: app.status.operationState.phase in ['Succeeded']
#
# For more information: https://argocd-notifications.readthedocs.io/en/stable/triggers/#default-triggers
# defaultTriggers: |
# - on-sync-status-unknown
## The optional bot component simplifies managing subscriptions
## For more information: https://argocd-notifications.readthedocs.io/en/stable/bots/overview/
bots:
slack:
# -- Enable slack bot
## You have to set secret.notifiers.slack.signingSecret
enabled: false
# -- The deployment strategy to use to replace existing pods with new ones
updateStrategy:
type: Recreate
image:
# -- Repository to use for the Slack bot
# @default -- `""` (defaults to global.image.repository)
repository: ""
# -- Tag to use for the Slack bot
# @default -- `""` (defaults to global.image.tag)
tag: ""
# -- Image pull policy for the Slack bot
# @default -- `""` (defaults to global.image.imagePullPolicy)
imagePullPolicy: ""
# -- Secrets with credentials to pull images from a private registry
imagePullSecrets: []
service:
# -- Service annotations for Slack bot
annotations: {}
# -- Service port for Slack bot
port: 80
# -- Service type for Slack bot
type: LoadBalancer
serviceAccount:
# -- Specifies whether a service account should be created
create: true
# -- The name of the service account to use.
## If not set and create is true, a name is generated using the fullname template
name: argocd-notifications-bot
# -- Annotations applied to created service account
annotations: {}
# -- Pod Security Context
securityContext:
runAsNonRoot: true
# -- Container Security Context
containerSecurityContext: {}
# -- Resource limits and requests for the Slack bot
resources: {}
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
# -- Assign custom [affinity] rules
affinity: {}
# -- [Tolerations] for use with node taints
tolerations: []
# -- [Node selector]
nodeSelector: {}