chore!: Remove deprecated argocd-applicationset and argocd-notifications (#1237)

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
main
Marco Kilchhofer 2022-04-22 12:28:56 +02:00 committed by GitHub
parent 93274f59ae
commit 39bd0e1b30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 2 additions and 8751 deletions

View File

@ -21,9 +21,7 @@ body:
- argo-events
- argo-rollouts
- argo-workflows
- argocd-applicationset
- argocd-image-updater
- argocd-notifications
- other
validations:
required: true

View File

@ -23,9 +23,7 @@ body:
- argo-events
- argo-rollouts
- argo-workflows
- argocd-applicationset
- argocd-image-updater
- argocd-notifications
- other
validations:
required: true

View File

@ -15,5 +15,4 @@ validate-chart-schema: false
validate-maintainers: true
validate-yaml: true
exclude-deprecated: true
excluded-charts:
- "argocd-applicationset"
excluded-charts: []

View File

@ -50,9 +50,7 @@ jobs:
- name: Deploy latest ArgoCD CRDs when testing ArgoCD extensions
if: |
contains(steps.list-changed.outputs.changed_charts, 'argocd-applicationset') ||
contains(steps.list-changed.outputs.changed_charts, 'argocd-image-updater') ||
contains(steps.list-changed.outputs.changed_charts, 'argocd-notifications')
contains(steps.list-changed.outputs.changed_charts, 'argocd-image-updater')
run: |
kubectl apply -f charts/argo-cd/crds

View File

@ -14,6 +14,3 @@
# Argo Rollouts
/charts/argo-rollouts/
# Argo CD Notifications
/charts/argocd-notifications/ @alexmt @andyfeller @mbevc1

View File

@ -119,16 +119,6 @@ argocd app create guestbook --dest-namespace default --dest-server https://kuber
argocd app sync guestbook
```
## Testing Argo CD Notification Changes
Thorough testing of argocd-notifications would require one or more notification services (Slack, OpsGenie, etc), however
minimal testing mostly consists of successful Helm chart installation and the argocd-notifications controller having
access to the `Application` resources in the same namespace that Argo CD is installed.
```
helm install argocd-notifications charts/argocd-notifications --namespace argocd
```
## New Application Versions
When raising application versions ensure you make the following changes:

View File

@ -1,25 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
ci/
*.gotmpl

View File

@ -1,18 +0,0 @@
apiVersion: v2
name: argocd-applicationset
description: A Helm chart for installing ArgoCD ApplicationSet
deprecated: true
type: application
version: 1.12.1
appVersion: "v0.4.1"
home: https://github.com/argoproj/argo-helm
icon: https://argocd-applicationset.readthedocs.io/en/stable/assets/logo.png
keywords:
- argoproj
- appset
- gitops
maintainers:
- name: maruina
annotations:
artifacthub.io/changes: |
- "[Deprecated]: This chart is now deprecated and will be removed soon. Please upgrade to Argo CD 2.3+ (chart version 4.x) which includes ApplicationSet."

View File

@ -1,121 +0,0 @@
# Argo CD ApplicationSet Chart
A Helm chart for Argo CD ApplicationSet, a controller to programmatically generate Argo CD Application.
Source code can be found [here](https://github.com/argoproj-labs/applicationset/)
## Additional Information
This is a **community maintained** chart. This chart installs the [applicationset](https://github.com/argoproj-labs/applicationset) controller.
This chart currently installs the non-HA version of Argo CD ApplicationSet.
## Prerequisites
- Helm v3.0.0+
- The ApplicationSet controller **must** be installed into the same namespace as the Argo CD it is targetting.
## Installing the Chart
To install the chart with the release name `my-release`:
```console
$ helm repo add argo https://argoproj.github.io/argo-helm
"argo" has been added to your repositories
$ helm install --name my-release argo/argocd-applicationset
NAME: my-release
...
```
### Testing
Users can test the chart with [kind](https://kind.sigs.k8s.io/) and [ct](https://github.com/helm/chart-testing).
```console
kind create cluster
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
ct install --namespace argocd
```
## Notes on CRD Installation
Some users would prefer to install the CRDs _outside_ of the chart. You can disable the CRD installation of this chart by using `--skip-crds` when installing the chart.
You then can install the CRDs manually from `crds` folder or via the manifests from the upstream project repo:
```console
kubectl apply -k https://github.com/argoproj-labs/applicationset.git/manifests/crds?ref=<appVersion>
# Eg. version v0.1.0
kubectl apply -k https://github.com/argoproj-labs/applicationset.git/manifests/crds?ref=v0.1.0
```
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) |
| apiVersionOverrides.ingress | string | `""` | String to override apiVersion of ingresses rendered by this helm chart |
| args.argocdRepoServer | string | `"argocd-repo-server:8081"` | The default Argo CD repo server address |
| args.debug | bool | `false` | Print debug logs |
| args.dryRun | bool | `false` | Enable dry run mode |
| args.enableLeaderElection | bool | `false` | The default leader election setting |
| args.metricsAddr | string | `":8080"` | The default metric address |
| args.namespace | string | `""` | Namespace where ArgoCD is deployed to (defaults to .Release.Namespace) |
| args.policy | string | `"sync"` | How application is synced between the generator and the cluster |
| args.probeBindAddr | string | `":8081"` | The default health check port |
| extraArgs | list | `[]` | List of extra cli args to add |
| extraContainers | list | `[]` | Additional containers to be added to the applicationset controller pod |
| extraEnv | list | `[]` | Environment variables to pass to the controller |
| extraEnvFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the controller |
| extraVolumeMounts | list | `[]` | List of extra mounts to add (normally used with extraVolumes) |
| extraVolumes | list | `[]` | List of extra volumes to add |
| fullnameOverride | string | `""` | Override the default fully qualified app name |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"quay.io/argoproj/argocd-applicationset"` | The image repository |
| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
| imagePullSecrets | list | `[]` | If defined, uses a Secret to pull an image from a private Docker registry or repository. |
| kubeVersionOverride | string | `""` | Override the Kubernetes version, which is used to evaluate certain manifests |
| metrics.enabled | bool | `false` | Deploy metrics service |
| metrics.service.annotations | object | `{}` | Metrics service annotations |
| metrics.service.labels | object | `{}` | Metrics service labels |
| metrics.service.servicePort | int | `8085` | Metrics service port |
| metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels |
| metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
| metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval |
| metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion |
| metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace |
| metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping |
| metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector |
| mountGPGKeyringVolume | bool | `true` | Mount an emptyDir volume for `gpg-keyring` |
| mountGPGKeysVolume | bool | `false` | Mount the `argocd-gpg-keys-cm` volume |
| mountSSHKnownHostsVolume | bool | `true` | Mount the `argocd-ssh-known-hosts-cm` volume |
| mountTLSCertsVolume | bool | `true` | Mount the `argocd-tls-certs-cm` volume |
| nameOverride | string | `""` | Provide a name in place of `argocd-applicationset` |
| nodeSelector | object | `{}` | [Node selector](https://kubernetes.io/docs/user-guide/node-selection/) |
| podAnnotations | object | `{}` | Annotations for the controller pods |
| podLabels | object | `{}` | Labels for the controller pods |
| podSecurityContext | object | `{}` | Pod Security Context |
| priorityClassName | string | `""` | If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default. |
| rbac.pspEnabled | bool | `true` | Enable Pod Security Policy |
| replicaCount | int | `1` | The number of controller pods to run |
| resources | object | `{}` | Resource limits and requests for the controller pods. |
| securityContext | object | `{}` | Security Context |
| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
| tolerations | list | `[]` | [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) |
| webhook.ingress.annotations | object | `{}` | Additional ingress annotations |
| webhook.ingress.enabled | bool | `false` | Enable an ingress resource for Webhooks |
| webhook.ingress.extraPaths | list | `[]` | Additional ingress paths |
| webhook.ingress.hosts | list | `[]` | List of ingress hosts |
| webhook.ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource |
| webhook.ingress.labels | object | `{}` | Additional ingress labels |
| webhook.ingress.pathType | string | `"Prefix"` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` |
| webhook.ingress.paths | list | `["/api/webhook"]` | List of ingress paths |
| webhook.ingress.tls | list | `[]` | Ingress TLS configuration |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

View File

@ -1,58 +0,0 @@
# Argo CD ApplicationSet Chart
A Helm chart for Argo CD ApplicationSet, a controller to programmatically generate Argo CD Application.
Source code can be found [here](https://github.com/argoproj-labs/applicationset/)
## Additional Information
This is a **community maintained** chart. This chart installs the [applicationset](https://github.com/argoproj-labs/applicationset) controller.
This chart currently installs the non-HA version of Argo CD ApplicationSet.
## Prerequisites
- Helm v3.0.0+
- The ApplicationSet controller **must** be installed into the same namespace as the Argo CD it is targetting.
## Installing the Chart
To install the chart with the release name `my-release`:
```console
$ helm repo add argo https://argoproj.github.io/argo-helm
"argo" has been added to your repositories
$ helm install --name my-release argo/argocd-applicationset
NAME: my-release
...
```
### Testing
Users can test the chart with [kind](https://kind.sigs.k8s.io/) and [ct](https://github.com/helm/chart-testing).
```console
kind create cluster
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
ct install --namespace argocd
```
## Notes on CRD Installation
Some users would prefer to install the CRDs _outside_ of the chart. You can disable the CRD installation of this chart by using `--skip-crds` when installing the chart.
You then can install the CRDs manually from `crds` folder or via the manifests from the upstream project repo:
```console
kubectl apply -k https://github.com/argoproj-labs/applicationset.git/manifests/crds?ref=<appVersion>
# Eg. version v0.1.0
kubectl apply -k https://github.com/argoproj-labs/applicationset.git/manifests/crds?ref=v0.1.0
```
{{ template "chart.valuesSection" . }}
----------------------------------------------
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)

View File

@ -1,6 +0,0 @@
# Test with default values
# Disable mounts of ArgoCD related ConfigMaps as ArgoCD isn't installed during chart testing
mountSSHKnownHostsVolume: false
mountTLSCertsVolume: false
mountGPGKeysVolume: false

View File

@ -1,9 +0,0 @@
args:
enableLeaderElection: true
replicaCount: 3
# Disable mounts of ArgoCD related ConfigMaps as ArgoCD isn't installed during chart testing
mountSSHKnownHostsVolume: false
mountTLSCertsVolume: false
mountGPGKeysVolume: false

View File

@ -1,7 +0,0 @@
metrics:
enabled: true
# Disable mounts of ArgoCD related ConfigMaps as ArgoCD isn't installed during chart testing
mountSSHKnownHostsVolume: false
mountTLSCertsVolume: false
mountGPGKeysVolume: false

File diff suppressed because it is too large Load Diff

View File

@ -1,86 +0,0 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "argo-applicationset.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- 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).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "argo-applicationset.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $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 }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "argo-applicationset.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "argo-applicationset.labels" -}}
helm.sh/chart: {{ include "argo-applicationset.chart" . }}
{{ include "argo-applicationset.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/part-of: argo-cd-applicationset
app.kubernetes.io/component: controller
{{- end }}
{{/*
Selector labels
*/}}
{{- define "argo-applicationset.selectorLabels" -}}
app.kubernetes.io/name: {{ include "argo-applicationset.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "argo-applicationset.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "argo-applicationset.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{/*
Return the target Kubernetes version
*/}}
{{- define "argo-applicationset.kubeVersion" -}}
{{- default .Capabilities.KubeVersion.Version .Values.kubeVersionOverride }}
{{- end -}}
{{/*
Return the appropriate apiVersion for ingress
*/}}
{{- define "argo-applicationset.ingress.apiVersion" -}}
{{- if .Values.apiVersionOverrides.ingress -}}
{{- print .Values.apiVersionOverrides.ingress -}}
{{- else if semverCompare "<1.14-0" (include "argo-applicationset.kubeVersion" $) -}}
{{- print "extensions/v1beta1" -}}
{{- else if semverCompare "<1.19-0" (include "argo-applicationset.kubeVersion" $) -}}
{{- print "networking.k8s.io/v1beta1" -}}
{{- else -}}
{{- print "networking.k8s.io/v1" -}}
{{- end -}}
{{- end -}}

View File

@ -1,137 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "argo-applicationset.fullname" . }}
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "argo-applicationset.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "argo-applicationset.selectorLabels" . | nindent 8 }}
{{- with .Values.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "argo-applicationset.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
command:
- entrypoint.sh
- applicationset-controller
- --metrics-addr={{ .Values.args.metricsAddr }}
- --probe-addr={{ .Values.args.probeBindAddr }}
{{- if or (gt ( .Values.replicaCount | int64) 1) .Values.args.enableLeaderElection }}
- --enable-leader-election=true
{{- end }}
- --namespace={{ .Values.args.namespace | default .Release.Namespace }}
- --argocd-repo-server={{ .Values.args.argocdRepoServer }}
- --policy={{ .Values.args.policy }}
- --debug={{ .Values.args.debug }}
- --dry-run={{ .Values.args.dryRun }}
{{- with .Values.extraArgs }}
{{- toYaml . | nindent 12 }}
{{- end }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: {{ (split ":" .Values.args.probeBindAddr)._1 }}
protocol: TCP
- name: metrics
containerPort: {{ (split ":" .Values.args.metricsAddr)._1 }}
protocol: TCP
- name: webhook
containerPort: 7000
protocol: TCP
{{- with .Values.extraEnv }}
env:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.extraEnvFrom }}
envFrom:
{{- toYaml . | nindent 12 }}
{{- end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumeMounts:
- mountPath: /tmp
name: tmp-dir
{{- if .Values.mountSSHKnownHostsVolume }}
- mountPath: /app/config/ssh
name: ssh-known-hosts
{{- end }}
{{- if .Values.mountTLSCertsVolume }}
- mountPath: /app/config/tls
name: tls-certs
{{- end }}
{{- if .Values.mountGPGKeysVolume }}
- mountPath: /app/config/gpg/source
name: gpg-keys
{{- end }}
{{- if .Values.mountGPGKeyringVolume }}
- mountPath: /app/config/gpg/keys
name: gpg-keyring
{{- end }}
{{- with .Values.extraVolumeMounts }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.extraContainers }}
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
- emptyDir: {}
name: tmp-dir
{{- if .Values.mountSSHKnownHostsVolume }}
- configMap:
name: argocd-ssh-known-hosts-cm
name: ssh-known-hosts
{{- end }}
{{- if .Values.mountTLSCertsVolume }}
- configMap:
name: argocd-tls-certs-cm
name: tls-certs
{{- end }}
{{- if .Values.mountGPGKeysVolume }}
- configMap:
name: argocd-gpg-keys-cm
name: gpg-keys
{{- end }}
{{- if .Values.mountGPGKeyringVolume }}
- emptyDir: {}
name: gpg-keyring
{{- end }}
{{- with .Values.extraVolumes }}
{{- toYaml . | nindent 6 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.priorityClassName }}
priorityClassName: {{ . }}
{{- end }}

View File

@ -1,25 +0,0 @@
{{- if .Values.metrics.enabled }}
apiVersion: v1
kind: Service
metadata:
{{- if .Values.metrics.service.annotations }}
annotations:
{{- range $key, $value := .Values.metrics.service.annotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
{{- with .Values.metrics.service.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ template "argo-applicationset.fullname" . }}-metrics
spec:
ports:
- name: metrics
protocol: TCP
port: {{ .Values.metrics.service.servicePort }}
targetPort: metrics
selector:
{{- include "argo-applicationset.selectorLabels" . | nindent 4 }}
{{- end }}

View File

@ -1,57 +0,0 @@
{{- if .Values.rbac.pspEnabled }}
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: {{ template "argo-applicationset.fullname" . }}
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
annotations:
seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
spec:
privileged: false
hostIPC: false
hostNetwork: false
hostPID: false
readOnlyRootFilesystem: false
allowPrivilegeEscalation: false
allowedCapabilities:
- '*'
fsGroup:
rule: RunAsAny
runAsUser:
rule: RunAsAny
seLinux:
rule: RunAsAny
supplementalGroups:
rule: RunAsAny
volumes:
- '*'
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ template "argo-applicationset.fullname" . }}-psp
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
rules:
- apiGroups: ['policy']
resources: ['podsecuritypolicies']
verbs: ['use']
resourceNames:
- {{ template "argo-applicationset.fullname" . }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ template "argo-applicationset.fullname" . }}-psp
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ template "argo-applicationset.fullname" . }}-psp
subjects:
- kind: ServiceAccount
name: {{ template "argo-applicationset.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
{{- end }}

View File

@ -1,97 +0,0 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ include "argo-applicationset.fullname" . }}
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
rules:
- apiGroups:
- argoproj.io
resources:
- applications
- appprojects
- applicationsets
- applicationsets/finalizers
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- argoproj.io
resources:
- applicationsets/status
verbs:
- get
- patch
- update
- apiGroups:
- ""
resources:
- events
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- secrets
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- apps
- extensions
resources:
- deployments
verbs:
- get
- list
- watch
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ include "argo-applicationset.fullname" . }}
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ include "argo-applicationset.fullname" . }}
subjects:
- kind: ServiceAccount
name: {{ include "argo-applicationset.serviceAccountName" . }}

View File

@ -1,14 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "argo-applicationset.fullname" . }}
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
spec:
ports:
- name: webhook
port: 7000
protocol: TCP
targetPort: webhook
selector:
{{- include "argo-applicationset.selectorLabels" . | nindent 6 }}

View File

@ -1,12 +0,0 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "argo-applicationset.serviceAccountName" . }}
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@ -1,38 +0,0 @@
{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "argo-applicationset.fullname" . }}
{{- if .Values.metrics.serviceMonitor.namespace }}
namespace: {{ .Values.metrics.serviceMonitor.namespace }}
{{- end }}
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
{{- with .Values.metrics.serviceMonitor.selector }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.metrics.serviceMonitor.additionalLabels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
endpoints:
- port: metrics
{{- with .Values.metrics.serviceMonitor.interval }}
interval: {{ . }}
{{- end }}
path: /metrics
{{- with .Values.metrics.serviceMonitor.relabelings }}
relabelings:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.metrics.serviceMonitor.metricRelabelings }}
metricRelabelings:
{{- toYaml . | nindent 8 }}
{{- end }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
{{- include "argo-applicationset.selectorLabels" . | nindent 6 }}
{{- end }}

View File

@ -1,89 +0,0 @@
{{- if .Values.webhook.ingress.enabled -}}
{{- $serviceName := include "argo-applicationset.fullname" . -}}
{{- $servicePort := "webhook" -}}
{{- $paths := .Values.webhook.ingress.paths -}}
{{- $extraPaths := .Values.webhook.ingress.extraPaths -}}
{{- $pathType := .Values.webhook.ingress.pathType -}}
apiVersion: {{ include "argo-applicationset.ingress.apiVersion" . }}
kind: Ingress
metadata:
{{- if .Values.webhook.ingress.annotations }}
annotations:
{{- range $key, $value := .Values.webhook.ingress.annotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
name: {{ include "argo-applicationset.fullname" . }}
labels:
{{- include "argo-applicationset.labels" . | nindent 4 }}
{{- if .Values.webhook.ingress.labels }}
{{- toYaml .Values.webhook.ingress.labels | nindent 4 }}
{{- end }}
spec:
{{- if eq (include "argo-applicationset.ingress.apiVersion" $) "networking.k8s.io/v1" }}
{{- with .Values.webhook.ingress.ingressClassName }}
ingressClassName: {{ . }}
{{- end }}
{{- end }}
rules:
{{- if .Values.webhook.ingress.hosts }}
{{- range $host := .Values.webhook.ingress.hosts }}
- host: {{ $host }}
http:
paths:
{{- if $extraPaths }}
{{- toYaml $extraPaths | nindent 10 }}
{{- end }}
{{- range $p := $paths }}
- path: {{ $p }}
{{- if eq (include "argo-applicationset.ingress.apiVersion" $) "networking.k8s.io/v1" }}
pathType: {{ $pathType }}
{{- end }}
backend:
{{- if eq (include "argo-applicationset.ingress.apiVersion" $) "networking.k8s.io/v1" }}
service:
name: {{ $serviceName }}
port:
{{- if kindIs "float64" $servicePort }}
number: {{ $servicePort }}
{{- else }}
name: {{ $servicePort }}
{{- end }}
{{- else }}
serviceName: {{ $serviceName }}
servicePort: {{ $servicePort }}
{{- end }}
{{- end -}}
{{- end -}}
{{- else }}
- http:
paths:
{{- if $extraPaths }}
{{- toYaml $extraPaths | nindent 10 }}
{{- end }}
{{- range $p := $paths }}
- path: {{ $p }}
{{- if eq (include "argo-applicationset.ingress.apiVersion" $) "networking.k8s.io/v1" }}
pathType: {{ $pathType }}
{{- end }}
backend:
{{- if eq (include "argo-applicationset.ingress.apiVersion" $) "networking.k8s.io/v1" }}
service:
name: {{ $serviceName }}
port:
{{- if kindIs "float64" $servicePort }}
number: {{ $servicePort }}
{{- else }}
name: {{ $servicePort }}
{{- end }}
{{- else }}
serviceName: {{ $serviceName }}
servicePort: {{ $servicePort }}
{{- end }}
{{- end -}}
{{- end -}}
{{- if .Values.webhook.ingress.tls }}
tls:
{{- toYaml .Values.webhook.ingress.tls | nindent 4 }}
{{- end -}}
{{- end -}}

View File

@ -1,219 +0,0 @@
# Default values for argo-applicationset.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
# -- The number of controller pods to run
replicaCount: 1
image:
# -- The image repository
repository: quay.io/argoproj/argocd-applicationset
# -- Image pull policy
pullPolicy: IfNotPresent
# -- Overrides the image tag whose default is the chart appVersion.
tag: ""
args:
# -- The default metric address
metricsAddr: :8080
# -- The default health check port
probeBindAddr: :8081
# -- The default leader election setting
enableLeaderElection: false
# -- Namespace where ArgoCD is deployed to (defaults to .Release.Namespace)
namespace: ""
# -- The default Argo CD repo server address
argocdRepoServer: argocd-repo-server:8081
# -- 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: []
# -- Provide a name in place of `argocd-applicationset`
nameOverride: ""
# -- Override the default fully qualified app name
fullnameOverride: ""
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: {}
rbac:
# -- Enable Pod Security Policy
pspEnabled: true
# -- 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](https://kubernetes.io/docs/user-guide/node-selection/)
nodeSelector: {}
# -- [Tolerations for use with node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/)
tolerations: []
# -- [Assign custom affinity rules to the deployment](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
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: ""
# -- Mount the `argocd-ssh-known-hosts-cm` volume
mountSSHKnownHostsVolume: true
# -- Mount the `argocd-tls-certs-cm` volume
mountTLSCertsVolume: true
# -- Mount the `argocd-gpg-keys-cm` volume
mountGPGKeysVolume: false
# -- Mount an emptyDir volume for `gpg-keyring`
mountGPGKeyringVolume: true
# -- 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
# -- Override the Kubernetes version, which is used to evaluate certain manifests
kubeVersionOverride: ""
## Override APIVersions
## If you want to template helm charts but cannot access k8s API server
## you can set api versions here
apiVersionOverrides:
# -- String to override apiVersion of ingresses rendered by this helm chart
ingress: "" # networking.k8s.io/v1beta1
## 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

View File

@ -1,24 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
ci/
*.gotmpl

View File

@ -1,19 +0,0 @@
apiVersion: v2
appVersion: v1.2.1
description: A Helm chart for ArgoCD notifications, an add-on to ArgoCD.
deprecated: true
name: argocd-notifications
type: application
version: 1.8.1
home: https://github.com/argoproj/argo-helm
icon: https://argocd-notifications.readthedocs.io/en/stable/assets/logo.png
keywords:
- argoproj
- argocd
- argocd-notifications
maintainers:
- name: alexmt
- name: andyfeller
annotations:
artifacthub.io/changes: |
- "[Deprecated]: This chart is now deprecated and will be removed soon. Please upgrade to Argo CD 2.3+ (chart version 4.x) which includes Argo CD Notifications."

View File

@ -1,92 +0,0 @@
## ArgoCD Notifications Chart
This is a **community maintained** chart. It installs the [argocd-notifications](https://github.com/argoproj-labs/argocd-notifications) application. This application comes packaged with:
- Notifications Controller Deployment
- Notifications Controller ConfigMap
- Notifications Controller Secret
- Service Account
- Roles
- Role Bindings
To regenerate this document, from the root of this chart directory run:
```console
docker run --rm --volume "$(pwd):/helm-docs" -u $(id -u) jnorwood/helm-docs:latest
```
## Values
### General parameters
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | Assign custom [affinity] rules |
| argocdUrl | string | `nil` | ArgoCD dashboard url; used in place of {{.context.argocdUrl}} in templates |
| cm.create | bool | `true` | Whether helm chart creates controller config map |
| cm.name | string | `""` | The name of the config map to use. |
| containerSecurityContext | object | `{}` | Container Security Context |
| context | object | `{}` | Define user-defined context |
| extraArgs | list | `[]` | Extra arguments to provide to the controller |
| extraEnv | list | `[]` | Additional container environment variables |
| fullnameOverride | string | `""` | String to partially override "argocd-notifications.fullname" template |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the controller |
| image.repository | string | `"argoprojlabs/argocd-notifications"` | Repository to use for the controller |
| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion |
| imagePullSecrets | list | `[]` | Secrets with credentials to pull images from a private registry |
| logLevel | string | `"info"` | Set the logging level. (One of: `debug`, `info`, `warn`, `error`) |
| metrics.enabled | bool | `false` | Enables prometheus metrics server |
| metrics.port | int | `9001` | Metrics port |
| metrics.service.annotations | object | `{}` | Metrics service annotations |
| metrics.service.labels | object | `{}` | Metrics service labels |
| metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels |
| metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
| nameOverride | string | `"argocd-notifications"` | String to partially override "argocd-notifications.fullname" template |
| nodeSelector | object | `{}` | [Node selector] |
| notifiers | object | See [values.yaml] | Configures notification services |
| podAnnotations | object | `{}` | Annotations to be applied to the controller Pods |
| podLabels | object | `{}` | Labels to be applied to the controller Pods |
| resources | object | `{}` | Resource limits and requests for the controller |
| secret.annotations | object | `{}` | key:value pairs of annotations to be added to the secret |
| secret.create | bool | `true` | Whether helm chart creates controller secret |
| secret.items | object | `{}` | Generic key:value pairs to be inserted into the secret |
| secret.name | string | `""` | The name of the secret to use. |
| securityContext | object | `{"runAsNonRoot":true}` | Pod Security Context |
| serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
| serviceAccount.name | string | `"argocd-notifications-controller"` | The name of the service account to use. |
| subscriptions | object | `{}` | Contains centrally managed global application subscriptions |
| templates | object | `{}` | The notification template is used to generate the notification content |
| tolerations | list | `[]` | [Tolerations] for use with node taints |
| triggers | object | `{}` | The trigger defines the condition when the notification should be sent |
| updateStrategy | object | `{"type":"Recreate"}` | The deployment strategy to use to replace existing pods with new ones |
### Bots
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| bots.slack.affinity | object | `{}` | Assign custom [affinity] rules |
| bots.slack.containerSecurityContext | object | `{}` | Container Security Context |
| bots.slack.enabled | bool | `false` | Enable slack bot |
| bots.slack.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the Slack bot |
| bots.slack.image.repository | string | `"argoprojlabs/argocd-notifications"` | Repository to use for the Slack bot |
| bots.slack.image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion |
| bots.slack.imagePullSecrets | list | `[]` | Secrets with credentials to pull images from a private registry |
| bots.slack.nodeSelector | object | `{}` | [Node selector] |
| bots.slack.resources | object | `{}` | Resource limits and requests for the Slack bot |
| bots.slack.securityContext | object | `{"runAsNonRoot":true}` | Pod Security Context |
| bots.slack.service.annotations | object | `{}` | Service annotations for Slack bot |
| bots.slack.service.port | int | `80` | Service port for Slack bot |
| bots.slack.service.type | string | `"LoadBalancer"` | Service type for Slack bot |
| bots.slack.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
| bots.slack.serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
| bots.slack.serviceAccount.name | string | `"argocd-notifications-bot"` | The name of the service account to use. |
| bots.slack.tolerations | list | `[]` | [Tolerations] for use with node taints |
| bots.slack.updateStrategy | object | `{"type":"Recreate"}` | The deployment strategy to use to replace existing pods with new ones |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
[values.yaml]: values.yaml

View File

@ -1,45 +0,0 @@
## ArgoCD Notifications Chart
This is a **community maintained** chart. It installs the [argocd-notifications](https://github.com/argoproj-labs/argocd-notifications) application. This application comes packaged with:
- Notifications Controller Deployment
- Notifications Controller ConfigMap
- Notifications Controller Secret
- Service Account
- Roles
- Role Bindings
To regenerate this document, from the root of this chart directory run:
```console
docker run --rm --volume "$(pwd):/helm-docs" -u $(id -u) jnorwood/helm-docs:latest
```
## Values
### General parameters
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if not (hasPrefix "bots" .Key) }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
### Bots
| Key | Type | Default | Description |
|-----|------|---------|-------------|
{{- range .Values }}
{{- if hasPrefix "bots" .Key }}
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
{{- end }}
{{- end }}
----------------------------------------------
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
[values.yaml]: values.yaml

View File

@ -1,138 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "argocd-notifications.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- 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).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "argocd-notifications.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $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 -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "argocd-notifications.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "argocd-notifications.labels" -}}
helm.sh/chart: {{ include "argocd-notifications.chart" . }}
{{ include "argocd-notifications.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Common metrics labels
*/}}
{{- define "argocd-notifications.metrics.labels" -}}
helm.sh/chart: {{ include "argocd-notifications.chart" . }}
{{ include "argocd-notifications.metrics.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Common slack bot labels
*/}}
{{- define "argocd-notifications.bots.slack.labels" -}}
helm.sh/chart: {{ include "argocd-notifications.chart" . }}
{{ include "argocd-notifications.bots.slack.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "argocd-notifications.selectorLabels" -}}
app.kubernetes.io/name: {{ include "argocd-notifications.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Selector metrics labels
*/}}
{{- define "argocd-notifications.metrics.selectorLabels" -}}
app.kubernetes.io/name: {{ include "argocd-notifications.name" . }}-metrics
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Selector slack bot labels
*/}}
{{- define "argocd-notifications.bots.slack.selectorLabels" -}}
app.kubernetes.io/name: {{ include "argocd-notifications.name" . }}-bot
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "argocd-notifications.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "argocd-notifications.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}
{{/*
Create the name of the bot service account to use
*/}}
{{- define "argocd-notifications.bots.slack.serviceAccountName" -}}
{{- if .Values.bots.slack.serviceAccount.create -}}
{{ default (printf "%s-bot" (include "argocd-notifications.fullname" .)) .Values.bots.slack.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.bots.slack.serviceAccount.name }}
{{- end -}}
{{- end -}}
{{/*
Create the name of the secret to use
*/}}
{{- define "argocd-notifications.secretName" -}}
{{- if .Values.secret.create -}}
{{ default (printf "%s-secret" (include "argocd-notifications.fullname" .)) .Values.secret.name }}
{{- else -}}
{{ default "argocd-notifications-secret" .Values.secret.name }}
{{- end -}}
{{- end -}}
{{/*
Create the name of the configmap to use
*/}}
{{- define "argocd-notifications.configMapName" -}}
{{- if .Values.cm.create -}}
{{ default (printf "%s-cm" (include "argocd-notifications.fullname" .)) .Values.cm.name }}
{{- else -}}
{{ default "argocd-notifications-cm" .Values.cm.name }}
{{- end -}}
{{- end -}}

View File

@ -1,55 +0,0 @@
{{ if .Values.bots.slack.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "argocd-notifications.name" . }}-bot
labels:
{{- include "argocd-notifications.bots.slack.labels" . | nindent 4 }}
spec:
strategy:
{{- .Values.bots.slack.updateStrategy | toYaml | nindent 4 }}
selector:
matchLabels:
{{- include "argocd-notifications.bots.slack.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "argocd-notifications.bots.slack.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.bots.slack.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "argocd-notifications.bots.slack.serviceAccountName" . }}
{{- with .Values.bots.slack.securityContext }}
securityContext: {{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: {{ include "argocd-notifications.name" . }}-bot
image: "{{ .Values.bots.slack.image.repository }}:{{ default .Chart.AppVersion .Values.bots.slack.image.tag }}"
imagePullPolicy: {{ .Values.bots.slack.image.pullPolicy }}
resources:
{{- toYaml .Values.bots.slack.resources | nindent 12 }}
command:
- /app/argocd-notifications-backend
- bot
workingDir: /app
ports:
- containerPort: 8080
name: http
{{- with .Values.bots.slack.containerSecurityContext }}
securityContext: {{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.bots.slack.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.bots.slack.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.bots.slack.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{ end }}

View File

@ -1,27 +0,0 @@
{{ if .Values.bots.slack.enabled }}
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ include "argocd-notifications.name" . }}-bot
rules:
- apiGroups:
- ""
resources:
- secrets
- configmaps
verbs:
- get
- list
- watch
- apiGroups:
- argoproj.io
resources:
- applications
- appprojects
verbs:
- get
- list
- watch
- update
- patch
{{ end }}

View File

@ -1,13 +0,0 @@
{{ if .Values.bots.slack.enabled }}
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ include "argocd-notifications.name" . }}-bot
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ include "argocd-notifications.name" . }}-bot
subjects:
- kind: ServiceAccount
name: {{ include "argocd-notifications.bots.slack.serviceAccountName" . }}
{{ end }}

View File

@ -1,19 +0,0 @@
{{ if .Values.bots.slack.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "argocd-notifications.name" . }}-bot
{{- if .Values.bots.slack.service.annotations }}
annotations:
{{- toYaml .Values.bots.slack.service.annotations | nindent 4 }}
{{- end }}
spec:
ports:
- name: http
port: {{ .Values.bots.slack.service.port }}
protocol: TCP
targetPort: http
selector:
{{- include "argocd-notifications.bots.slack.selectorLabels" . | nindent 4 }}
type: {{ .Values.bots.slack.service.type }}
{{ end }}

View File

@ -1,12 +0,0 @@
{{- if .Values.bots.slack.serviceAccount.create }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "argocd-notifications.bots.slack.serviceAccountName" . }}
labels:
{{- include "argocd-notifications.bots.slack.labels" . | nindent 4 }}
{{- with .Values.bots.slack.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{ end }}
{{ end }}

View File

@ -1,27 +0,0 @@
{{ if .Values.cm.create }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "argocd-notifications.configMapName" . }}
labels:
{{- include "argocd-notifications.labels" . | nindent 4 }}
data:
context: |
argocdUrl: {{ .Values.argocdUrl | quote }}
{{- with .Values.context }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.notifiers }}
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with .Values.subscriptions }}
subscriptions: |
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.templates }}
{{- toYaml . | nindent 2 }}
{{- end }}
{{- with .Values.triggers }}
{{- toYaml . | nindent 2 }}
{{- end }}
{{- end }}

View File

@ -1,77 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "argocd-notifications.name" . }}-controller
labels:
{{- include "argocd-notifications.labels" . | nindent 4 }}
spec:
strategy:
{{- .Values.updateStrategy | toYaml | nindent 4 }}
selector:
matchLabels:
{{- include "argocd-notifications.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- if .Values.podAnnotations }}
annotations:
{{- range $key, $value := .Values.podAnnotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
labels:
{{- include "argocd-notifications.selectorLabels" . | nindent 8 }}
{{- with .Values.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "argocd-notifications.serviceAccountName" . }}
{{- if .Values.securityContext }}
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
{{- end }}
containers:
- name: {{ include "argocd-notifications.name" . }}-controller
image: "{{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
command:
- /app/argocd-notifications-backend
- controller
- --loglevel={{ .Values.logLevel }}
{{- if .Values.metrics.enabled }}
- --metrics-port={{ .Values.metrics.port }}
{{- end }}
- --secret-name={{ include "argocd-notifications.secretName" . }}
- --config-map-name={{ include "argocd-notifications.configMapName" . }}
{{- range .Values.extraArgs }}
- {{ . | squote }}
{{- end }}
workingDir: /app
ports:
{{- if .Values.metrics.enabled }}
- containerPort: {{ .Values.metrics.port }}
name: metrics
protocol: TCP
{{- end }}
{{- if .Values.containerSecurityContext }}
securityContext: {{- toYaml .Values.containerSecurityContext | nindent 12 }}
{{- end }}
{{- with .Values.extraEnv }}
env: {{ toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@ -1,42 +0,0 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ include "argocd-notifications.name" . }}-controller
labels:
{{- include "argocd-notifications.labels" . | nindent 4 }}
rules:
- apiGroups:
- argoproj.io
resources:
- applications
- appprojects
verbs:
- get
- list
- watch
- update
- patch
- apiGroups:
- ""
resources:
- configmaps
- secrets
verbs:
- list
- watch
- apiGroups:
- ""
resourceNames:
- {{ include "argocd-notifications.name" . }}-cm
resources:
- configmaps
verbs:
- get
- apiGroups:
- ""
resourceNames:
- {{ include "argocd-notifications.name" . }}-secret
resources:
- secrets
verbs:
- get

View File

@ -1,13 +0,0 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ include "argocd-notifications.name" . }}-controller
labels:
{{- include "argocd-notifications.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ include "argocd-notifications.name" . }}-controller
subjects:
- kind: ServiceAccount
name: {{ include "argocd-notifications.serviceAccountName" . }}

View File

@ -1,19 +0,0 @@
{{ if .Values.secret.create }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "argocd-notifications.secretName" . }}
labels:
{{- include "argocd-notifications.labels" . | nindent 4 }}
{{- if .Values.secret.annotations }}
annotations:
{{- range $key, $value := .Values.secret.annotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
type: Opaque
stringData:
{{- with .Values.secret.items }}
{{ toYaml . | nindent 2 }}
{{- end }}
{{- end }}

View File

@ -1,22 +0,0 @@
{{- if .Values.metrics.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "argocd-notifications.name" . }}-metrics
labels:
{{- include "argocd-notifications.metrics.labels" . | nindent 4 }}
{{- with .Values.metrics.service.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.metrics.service.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
selector:
{{- include "argocd-notifications.selectorLabels" . | nindent 4 }}
ports:
- name: metrics
port: {{ .Values.metrics.port }}
targetPort: {{ .Values.metrics.port }}
{{- end }}

View File

@ -1,12 +0,0 @@
{{- if .Values.serviceAccount.create }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "argocd-notifications.serviceAccountName" . }}
labels:
{{- include "argocd-notifications.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@ -1,30 +0,0 @@
{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ include "argocd-notifications.name" . }}-metrics
{{- if .Values.metrics.serviceMonitor.namespace }}
namespace: {{ .Values.metrics.serviceMonitor.namespace }}
{{- end }}
labels:
{{- include "argocd-notifications.metrics.labels" . | nindent 4 }}
{{- if .Values.metrics.serviceMonitor.additionalLabels }}
{{- toYaml .Values.metrics.serviceMonitor.additionalLabels | nindent 4 }}
{{- end }}
spec:
endpoints:
- port: metrics
path: /metrics
{{- if .Values.metrics.serviceMonitor.interval }}
interval: {{ .Values.metrics.serviceMonitor.interval }}
{{- end }}
{{- if .Values.metrics.serviceMonitor.scrapeTimeout }}
scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
{{- end }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
{{- include "argocd-notifications.metrics.selectorLabels" . | nindent 6 }}
{{- end }}

View File

@ -1,454 +0,0 @@
# -- Assign custom [affinity] rules
affinity: {}
# -- ArgoCD dashboard url; used in place of {{.context.argocdUrl}} in templates
argocdUrl:
# -- String to partially override "argocd-notifications.fullname" template
fullnameOverride: ""
image:
# -- Repository to use for the controller
repository: argoprojlabs/argocd-notifications
# -- Overrides the image tag whose default is the chart appVersion
tag: ""
# -- Image pull policy for the controller
pullPolicy: IfNotPresent
# -- Secrets with credentials to pull images from a private registry
imagePullSecrets: []
# -- String to partially override "argocd-notifications.fullname" template
nameOverride: "argocd-notifications"
# -- [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: []
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
# -- Additional container environment variables
extraEnv: []
# -- 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
repository: argoprojlabs/argocd-notifications
# -- Overrides the image tag whose default is the chart appVersion
tag: ""
# -- Image pull policy for the Slack bot
pullPolicy: IfNotPresent
# -- 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: {}