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:
parent
c8f0471bd0
commit
32a06059c3
28 changed files with 8325 additions and 64 deletions
|
@ -1,8 +1,8 @@
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: v2.2.5
|
appVersion: v2.3.1
|
||||||
description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||||
name: argo-cd
|
name: argo-cd
|
||||||
version: 3.35.4
|
version: 4.0.0
|
||||||
home: https://github.com/argoproj/argo-helm
|
home: https://github.com/argoproj/argo-helm
|
||||||
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
|
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
|
||||||
keywords:
|
keywords:
|
||||||
|
@ -21,4 +21,5 @@ dependencies:
|
||||||
condition: redis-ha.enabled
|
condition: redis-ha.enabled
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- "[Fixed]: ArgoCD application controller metric application label templating"
|
- "[Changed]: Update to Argo CD v2.3.1"
|
||||||
|
- "[Changed]: Sync CRDs of Argo CD v2.3.1"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Argo CD Chart
|
# Argo CD Chart
|
||||||
|
|
||||||
A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||||
|
|
||||||
Source code can be found [here](https://argoproj.github.io/argo-cd/)
|
Source code can be found [here](https://argoproj.github.io/argo-cd/)
|
||||||
|
|
||||||
|
@ -8,15 +8,15 @@ Source code can be found [here](https://argoproj.github.io/argo-cd/)
|
||||||
|
|
||||||
This is a **community maintained** chart. This chart installs [argo-cd](https://argoproj.github.io/argo-cd/), a declarative, GitOps continuous delivery tool for Kubernetes.
|
This is a **community maintained** chart. This chart installs [argo-cd](https://argoproj.github.io/argo-cd/), a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||||
|
|
||||||
The default installation is intended to be similar to the provided ArgoCD [releases](https://github.com/argoproj/argo-cd/releases).
|
The default installation is intended to be similar to the provided Argo CD [releases](https://github.com/argoproj/argo-cd/releases).
|
||||||
|
|
||||||
If you want to avoid including sensitive information unencrypted (clear text) in your version control, make use of the [declarative set up](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/) of Argo CD.
|
If you want to avoid including sensitive information unencrypted (clear text) in your version control, make use of the [declarative set up](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/) of Argo CD.
|
||||||
For instance, rather than adding repositories and their keys in your Helm values, you could deploy [SealedSecrets](https://github.com/bitnami-labs/sealed-secrets) with contents as seen in this [repositories section](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories) or any other secrets manager service (i.e. HashiCorp Vault, AWS/GCP Secrets Manager, etc.).
|
For instance, rather than adding repositories and their keys in your Helm values, you could deploy [SealedSecrets](https://github.com/bitnami-labs/sealed-secrets) with contents as seen in this [repositories section](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories) or any other secrets manager service (i.e. HashiCorp Vault, AWS/GCP Secrets Manager, etc.).
|
||||||
|
|
||||||
## High Availability
|
## High Availability
|
||||||
|
|
||||||
This chart installs the non-HA version of ArgoCD by default. If you want to run ArgoCD in HA mode, you can use one of the example values in the next sections.
|
This chart installs the non-HA version of Argo CD by default. If you want to run Argo CD in HA mode, you can use one of the example values in the next sections.
|
||||||
Please also have a look into the upstream [Operator Manual regarding High Availability](https://argoproj.github.io/argo-cd/operator-manual/high_availability/) to understand how scaling of ArgoCD works in detail.
|
Please also have a look into the upstream [Operator Manual regarding High Availability](https://argoproj.github.io/argo-cd/operator-manual/high_availability/) to understand how scaling of Argo CD works in detail.
|
||||||
|
|
||||||
> **Warning:**
|
> **Warning:**
|
||||||
> You need at least 3 worker nodes as the HA mode of redis enforces Pods to run on separate nodes.
|
> You need at least 3 worker nodes as the HA mode of redis enforces Pods to run on separate nodes.
|
||||||
|
@ -62,9 +62,9 @@ repoServer:
|
||||||
|
|
||||||
### Synchronizing Changes from Original Repository
|
### Synchronizing Changes from Original Repository
|
||||||
|
|
||||||
In the original [ArgoCD repository](https://github.com/argoproj/argo-cd/) an [`manifests/install.yaml`](https://github.com/argoproj/argo-cd/blob/master/manifests/install.yaml) is generated using `kustomize`. It's the basis for the installation as [described in the docs](https://argo-cd.readthedocs.io/en/stable/getting_started/#1-install-argo-cd).
|
In the original [Argo CD repository](https://github.com/argoproj/argo-cd/) an [`manifests/install.yaml`](https://github.com/argoproj/argo-cd/blob/master/manifests/install.yaml) is generated using `kustomize`. It's the basis for the installation as [described in the docs](https://argo-cd.readthedocs.io/en/stable/getting_started/#1-install-argo-cd).
|
||||||
|
|
||||||
When installing ArgoCD using this helm chart the user should have a similar experience and configuration rolled out. Hence, it makes sense to try to achieve a similar output of rendered `.yaml` resources when calling `helm template` using the default settings in `values.yaml`.
|
When installing Argo CD using this helm chart the user should have a similar experience and configuration rolled out. Hence, it makes sense to try to achieve a similar output of rendered `.yaml` resources when calling `helm template` using the default settings in `values.yaml`.
|
||||||
|
|
||||||
To update the templates and default settings in `values.yaml` it may come in handy to look up the diff of the `manifests/install.yaml` between two versions accordingly. This can either be done directly via github and look for `manifests/install.yaml`:
|
To update the templates and default settings in `values.yaml` it may come in handy to look up the diff of the `manifests/install.yaml` between two versions accordingly. This can either be done directly via github and look for `manifests/install.yaml`:
|
||||||
|
|
||||||
|
@ -82,13 +82,18 @@ Changes in the `CustomResourceDefinition` resources shall be fixed easily by cop
|
||||||
|
|
||||||
## Upgrading
|
## Upgrading
|
||||||
|
|
||||||
|
### 4.0.0 and above
|
||||||
|
|
||||||
|
This helm chart version deploys Argo CD v2.3. The Argo CD Notifications and ApplicationSet are part of Argo CD now. You no longer need to install them separately. The Notifications and ApplicationSet components **are bundled into default** Argo CD installation.
|
||||||
|
Please read the [v2.2 to 2.3 upgrade instructions] in the upstream repository.
|
||||||
|
|
||||||
### 3.13.0
|
### 3.13.0
|
||||||
|
|
||||||
This release removes the flag `--staticassets` from argocd server as it has been dropped upstream. If this flag needs to be enabled e.g for older releases of ArgoCD, it can be passed via the `server.extraArgs` field
|
This release removes the flag `--staticassets` from argocd server as it has been dropped upstream. If this flag needs to be enabled e.g for older releases of Argo CD, it can be passed via the `server.extraArgs` field
|
||||||
|
|
||||||
### 3.10.2
|
### 3.10.2
|
||||||
|
|
||||||
ArgoCD has recently deprecated the flag `--staticassets` and from chart version `3.10.2` has been disabled by default
|
Argo CD has recently deprecated the flag `--staticassets` and from chart version `3.10.2` has been disabled by default
|
||||||
It can be re-enabled by setting `server.staticAssets.enabled` to true
|
It can be re-enabled by setting `server.staticAssets.enabled` to true
|
||||||
|
|
||||||
### 3.8.1
|
### 3.8.1
|
||||||
|
@ -122,7 +127,7 @@ Please check if you are affected by one of these cases **before you upgrade**, e
|
||||||
### 3.2.*
|
### 3.2.*
|
||||||
|
|
||||||
With this minor version we introduced the evaluation for the ingress manifest (depending on the capabilities version), See [Pull Request](https://github.com/argoproj/argo-helm/pull/637).
|
With this minor version we introduced the evaluation for the ingress manifest (depending on the capabilities version), See [Pull Request](https://github.com/argoproj/argo-helm/pull/637).
|
||||||
[Issue 703](https://github.com/argoproj/argo-helm/issues/703) reported that the capabilities evaluation is **not handled correctly when deploying the chart via an ArgoCD instance**,
|
[Issue 703](https://github.com/argoproj/argo-helm/issues/703) reported that the capabilities evaluation is **not handled correctly when deploying the chart via an Argo CD instance**,
|
||||||
especially deploying on clusters running a cluster version prior to `1.19` (which misses `Ingress` on apiVersion `networking.k8s.io/v1`).
|
especially deploying on clusters running a cluster version prior to `1.19` (which misses `Ingress` on apiVersion `networking.k8s.io/v1`).
|
||||||
|
|
||||||
If you are running a cluster version prior to `1.19` you can avoid this issue by directly installing chart version `3.6.0` and setting `kubeVersionOverride` like:
|
If you are running a cluster version prior to `1.19` you can avoid this issue by directly installing chart version `3.6.0` and setting `kubeVersionOverride` like:
|
||||||
|
@ -139,7 +144,7 @@ Helm apiVersion switched to `v2`. Requires Helm `3.0.0` or above to install. [Re
|
||||||
|
|
||||||
### 2.14.7 and above
|
### 2.14.7 and above
|
||||||
|
|
||||||
The `matchLabels` key in the ArgoCD Application Controller is no longer hard-coded. Note that labels are immutable so caution should be exercised when making changes to this resource.
|
The `matchLabels` key in the Argo CD Application Controller is no longer hard-coded. Note that labels are immutable so caution should be exercised when making changes to this resource.
|
||||||
|
|
||||||
### 2.10.x to 2.11.0
|
### 2.10.x to 2.11.0
|
||||||
|
|
||||||
|
@ -216,9 +221,9 @@ NAME: my-release
|
||||||
| fullnameOverride | string | `""` | String to fully override `"argo-cd.fullname"` |
|
| fullnameOverride | string | `""` | String to fully override `"argo-cd.fullname"` |
|
||||||
| global.additionalLabels | object | `{}` | Additional labels to add to all resources |
|
| global.additionalLabels | object | `{}` | Additional labels to add to all resources |
|
||||||
| global.hostAliases | list | `[]` | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files |
|
| global.hostAliases | list | `[]` | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files |
|
||||||
| global.image.imagePullPolicy | string | `"IfNotPresent"` | If defined, a imagePullPolicy applied to all ArgoCD deployments |
|
| global.image.imagePullPolicy | string | `"IfNotPresent"` | If defined, a imagePullPolicy applied to all Argo CD deployments |
|
||||||
| global.image.repository | string | `"quay.io/argoproj/argocd"` | If defined, a repository applied to all ArgoCD deployments |
|
| global.image.repository | string | `"quay.io/argoproj/argocd"` | If defined, a repository applied to all Argo CD deployments |
|
||||||
| global.image.tag | string | `""` | Overrides the global ArgoCD image tag whose default is the chart appVersion |
|
| global.image.tag | string | `""` | Overrides the global Argo CD image tag whose default is the chart appVersion |
|
||||||
| global.imagePullSecrets | list | `[]` | If defined, uses a Secret to pull an image from a private Docker registry or repository |
|
| global.imagePullSecrets | list | `[]` | If defined, uses a Secret to pull an image from a private Docker registry or repository |
|
||||||
| global.networkPolicy.create | bool | `false` | Create NetworkPolicy objects for all components |
|
| global.networkPolicy.create | bool | `false` | Create NetworkPolicy objects for all components |
|
||||||
| global.networkPolicy.defaultDenyIngress | bool | `false` | Default deny all ingress traffic |
|
| global.networkPolicy.defaultDenyIngress | bool | `false` | Default deny all ingress traffic |
|
||||||
|
@ -228,10 +233,10 @@ NAME: my-release
|
||||||
| kubeVersionOverride | string | `""` | Override the Kubernetes version, which is used to evaluate certain manifests |
|
| kubeVersionOverride | string | `""` | Override the Kubernetes version, which is used to evaluate certain manifests |
|
||||||
| nameOverride | string | `"argocd"` | Provide a name in place of `argocd` |
|
| nameOverride | string | `"argocd"` | Provide a name in place of `argocd` |
|
||||||
| openshift.enabled | bool | `false` | enables using arbitrary uid for argo repo server |
|
| openshift.enabled | bool | `false` | enables using arbitrary uid for argo repo server |
|
||||||
| server.additionalApplications | list | `[]` (See [values.yaml]) | Deploy ArgoCD Applications within this helm release |
|
| server.additionalApplications | list | `[]` (See [values.yaml]) | Deploy Argo CD Applications within this helm release |
|
||||||
| server.additionalProjects | list | `[]` (See [values.yaml]) | Deploy ArgoCD Projects within this helm release |
|
| server.additionalProjects | list | `[]` (See [values.yaml]) | Deploy Argo CD Projects within this helm release |
|
||||||
|
|
||||||
## ArgoCD Controller
|
## Argo CD Controller
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|-----|------|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
|
@ -246,7 +251,7 @@ NAME: my-release
|
||||||
| controller.clusterRoleRules.rules | list | `[]` | List of custom rules for the application controller's ClusterRole resource |
|
| controller.clusterRoleRules.rules | list | `[]` | List of custom rules for the application controller's ClusterRole resource |
|
||||||
| controller.containerPort | int | `8082` | Application controller listening port |
|
| controller.containerPort | int | `8082` | Application controller listening port |
|
||||||
| controller.containerSecurityContext | object | `{}` | Application controller container-level security context |
|
| controller.containerSecurityContext | object | `{}` | Application controller container-level security context |
|
||||||
| controller.enableStatefulSet | bool | `false` | 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 |
|
| controller.enableStatefulSet | bool | `true` | Deploy the application controller as a StatefulSet instead of a Deployment, this is required for HA capability. |
|
||||||
| controller.env | list | `[]` | Environment variables to pass to application controller |
|
| controller.env | list | `[]` | Environment variables to pass to application controller |
|
||||||
| controller.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to application controller |
|
| controller.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to application controller |
|
||||||
| controller.extraArgs | list | `[]` | Additional command line arguments to pass to application controller |
|
| controller.extraArgs | list | `[]` | Additional command line arguments to pass to application controller |
|
||||||
|
@ -400,8 +405,8 @@ NAME: my-release
|
||||||
| server.certificate.secretName | string | `"argocd-server-tls"` | Certificate manager secret name |
|
| server.certificate.secretName | string | `"argocd-server-tls"` | Certificate manager secret name |
|
||||||
| server.clusterAdminAccess.enabled | bool | `true` | Enable RBAC for local cluster deployments |
|
| server.clusterAdminAccess.enabled | bool | `true` | Enable RBAC for local cluster deployments |
|
||||||
| server.config | object | See [values.yaml] | [General Argo CD configuration] |
|
| server.config | object | See [values.yaml] | [General Argo CD configuration] |
|
||||||
| server.configAnnotations | object | `{}` | Annotations to be added to ArgoCD ConfigMap |
|
| server.configAnnotations | object | `{}` | Annotations to be added to Argo CD ConfigMap |
|
||||||
| server.configEnabled | bool | `true` | Manage ArgoCD configmap (Declarative Setup) |
|
| server.configEnabled | bool | `true` | Manage Argo CD configmap (Declarative Setup) |
|
||||||
| server.containerPort | int | `8080` | Configures the server port |
|
| server.containerPort | int | `8080` | Configures the server port |
|
||||||
| server.containerSecurityContext | object | `{}` | Servers container-level security context |
|
| server.containerSecurityContext | object | `{}` | Servers container-level security context |
|
||||||
| server.env | list | `[]` | Environment variables to pass to Argo CD server |
|
| server.env | list | `[]` | Environment variables to pass to Argo CD server |
|
||||||
|
@ -468,9 +473,9 @@ NAME: my-release
|
||||||
| server.podAnnotations | object | `{}` | Annotations to be added to server pods |
|
| server.podAnnotations | object | `{}` | Annotations to be added to server pods |
|
||||||
| server.podLabels | object | `{}` | Labels to be added to server pods |
|
| server.podLabels | object | `{}` | Labels to be added to server pods |
|
||||||
| server.priorityClassName | string | `""` | Priority class for the Argo CD server |
|
| server.priorityClassName | string | `""` | Priority class for the Argo CD server |
|
||||||
| server.rbacConfig | object | `{}` | ArgoCD rbac config ([ArgoCD RBAC policy]) |
|
| server.rbacConfig | object | `{}` | Argo CD rbac config ([Argo CD RBAC policy]) |
|
||||||
| server.rbacConfigAnnotations | object | `{}` | Annotations to be added to ArgoCD rbac ConfigMap |
|
| server.rbacConfigAnnotations | object | `{}` | Annotations to be added to Argo CD rbac ConfigMap |
|
||||||
| server.rbacConfigCreate | bool | `true` | 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. |
|
| server.rbacConfigCreate | bool | `true` | Whether or not to create the configmap. If false, it is expected the configmap will be created by something else. Argo CD will not work if there is no configMap created with the name above. |
|
||||||
| server.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
| server.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
|
||||||
| server.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
|
| server.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
|
||||||
| server.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
| server.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
|
||||||
|
@ -642,6 +647,128 @@ NAME: my-release
|
||||||
| redis-ha.redis.config.save | string | `"\"\""` | Will save the DB if both the given number of seconds and the given number of write operations against the DB occurred. `""` is disabled |
|
| redis-ha.redis.config.save | string | `"\"\""` | Will save the DB if both the given number of seconds and the given number of write operations against the DB occurred. `""` is disabled |
|
||||||
| redis-ha.redis.masterGroupName | string | `"argocd"` | Redis convention for naming the cluster group: must match `^[\\w-\\.]+$` and can be templated |
|
| redis-ha.redis.masterGroupName | string | `"argocd"` | Redis convention for naming the cluster group: must match `^[\\w-\\.]+$` and can be templated |
|
||||||
|
|
||||||
|
## ApplicationSet
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| applicationSet.affinity | object | `{}` | Assign custom [affinity] rules |
|
||||||
|
| applicationSet.args.debug | bool | `false` | Print debug logs |
|
||||||
|
| applicationSet.args.dryRun | bool | `false` | Enable dry run mode |
|
||||||
|
| applicationSet.args.enableLeaderElection | bool | `false` | The default leader election setting |
|
||||||
|
| applicationSet.args.metricsAddr | string | `":8080"` | The default metric address |
|
||||||
|
| applicationSet.args.policy | string | `"sync"` | How application is synced between the generator and the cluster |
|
||||||
|
| applicationSet.args.probeBindAddr | string | `":8081"` | The default health check port |
|
||||||
|
| applicationSet.extraArgs | list | `[]` | List of extra cli args to add |
|
||||||
|
| applicationSet.extraContainers | list | `[]` | Additional containers to be added to the applicationset controller pod |
|
||||||
|
| applicationSet.extraEnv | list | `[]` | Environment variables to pass to the controller |
|
||||||
|
| applicationSet.extraEnvFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the controller |
|
||||||
|
| applicationSet.extraVolumeMounts | list | `[]` | List of extra mounts to add (normally used with extraVolumes) |
|
||||||
|
| applicationSet.extraVolumes | list | `[]` | List of extra volumes to add |
|
||||||
|
| applicationSet.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the application set controller |
|
||||||
|
| applicationSet.image.repository | string | `"quay.io/argoproj/argocd-applicationset"` | Repository to use for the application set controller |
|
||||||
|
| applicationSet.image.tag | string | `"v0.4.1"` | Tag to use for the application set controller |
|
||||||
|
| applicationSet.imagePullSecrets | list | `[]` | If defined, uses a Secret to pull an image from a private Docker registry or repository. |
|
||||||
|
| applicationSet.metrics.enabled | bool | `false` | Deploy metrics service |
|
||||||
|
| applicationSet.metrics.service.annotations | object | `{}` | Metrics service annotations |
|
||||||
|
| applicationSet.metrics.service.labels | object | `{}` | Metrics service labels |
|
||||||
|
| applicationSet.metrics.service.servicePort | int | `8085` | Metrics service port |
|
||||||
|
| applicationSet.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels |
|
||||||
|
| applicationSet.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
|
||||||
|
| applicationSet.metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval |
|
||||||
|
| applicationSet.metrics.serviceMonitor.metricRelabelings | list | `[]` | Prometheus [MetricRelabelConfigs] to apply to samples before ingestion |
|
||||||
|
| applicationSet.metrics.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace |
|
||||||
|
| applicationSet.metrics.serviceMonitor.relabelings | list | `[]` | Prometheus [RelabelConfigs] to apply to samples before scraping |
|
||||||
|
| applicationSet.metrics.serviceMonitor.selector | object | `{}` | Prometheus ServiceMonitor selector |
|
||||||
|
| applicationSet.name | string | `"applicationset-controller"` | Application Set controller name string |
|
||||||
|
| applicationSet.nodeSelector | object | `{}` | [Node selector] |
|
||||||
|
| applicationSet.podAnnotations | object | `{}` | Annotations for the controller pods |
|
||||||
|
| applicationSet.podLabels | object | `{}` | Labels for the controller pods |
|
||||||
|
| applicationSet.podSecurityContext | object | `{}` | Pod Security Context |
|
||||||
|
| applicationSet.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. |
|
||||||
|
| applicationSet.replicaCount | int | `1` | The number of controller pods to run |
|
||||||
|
| applicationSet.resources | object | `{}` | Resource limits and requests for the controller pods. |
|
||||||
|
| applicationSet.securityContext | object | `{}` | Security Context |
|
||||||
|
| applicationSet.service.annotations | object | `{}` | Application set service annotations |
|
||||||
|
| applicationSet.service.labels | object | `{}` | Application set service labels |
|
||||||
|
| applicationSet.service.port | int | `7000` | Application set service port |
|
||||||
|
| applicationSet.service.portName | string | `"webhook"` | Application set service port name |
|
||||||
|
| applicationSet.serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
|
||||||
|
| applicationSet.serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
|
||||||
|
| applicationSet.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 |
|
||||||
|
| applicationSet.tolerations | list | `[]` | [Tolerations] for use with node taints |
|
||||||
|
| applicationSet.webhook.ingress.annotations | object | `{}` | Additional ingress annotations |
|
||||||
|
| applicationSet.webhook.ingress.enabled | bool | `false` | Enable an ingress resource for Webhooks |
|
||||||
|
| applicationSet.webhook.ingress.extraPaths | list | `[]` | Additional ingress paths |
|
||||||
|
| applicationSet.webhook.ingress.hosts | list | `[]` | List of ingress hosts |
|
||||||
|
| applicationSet.webhook.ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource |
|
||||||
|
| applicationSet.webhook.ingress.labels | object | `{}` | Additional ingress labels |
|
||||||
|
| applicationSet.webhook.ingress.pathType | string | `"Prefix"` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` |
|
||||||
|
| applicationSet.webhook.ingress.paths | list | `["/api/webhook"]` | List of ingress paths |
|
||||||
|
| applicationSet.webhook.ingress.tls | list | `[]` | Ingress TLS configuration |
|
||||||
|
|
||||||
|
## Notifications
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| notifications.affinity | object | `{}` | Assign custom [affinity] rules |
|
||||||
|
| notifications.argocdUrl | string | `nil` | Argo CD dashboard url; used in place of {{.context.argocdUrl}} in templates |
|
||||||
|
| notifications.bots.slack.affinity | object | `{}` | Assign custom [affinity] rules |
|
||||||
|
| notifications.bots.slack.containerSecurityContext | object | `{}` | Container Security Context |
|
||||||
|
| notifications.bots.slack.enabled | bool | `false` | Enable slack bot |
|
||||||
|
| notifications.bots.slack.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the Slack bot |
|
||||||
|
| notifications.bots.slack.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the Slack bot |
|
||||||
|
| notifications.bots.slack.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the Slack bot |
|
||||||
|
| notifications.bots.slack.imagePullSecrets | list | `[]` | Secrets with credentials to pull images from a private registry |
|
||||||
|
| notifications.bots.slack.nodeSelector | object | `{}` | [Node selector] |
|
||||||
|
| notifications.bots.slack.resources | object | `{}` | Resource limits and requests for the Slack bot |
|
||||||
|
| notifications.bots.slack.securityContext | object | `{"runAsNonRoot":true}` | Pod Security Context |
|
||||||
|
| notifications.bots.slack.service.annotations | object | `{}` | Service annotations for Slack bot |
|
||||||
|
| notifications.bots.slack.service.port | int | `80` | Service port for Slack bot |
|
||||||
|
| notifications.bots.slack.service.type | string | `"LoadBalancer"` | Service type for Slack bot |
|
||||||
|
| notifications.bots.slack.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
|
||||||
|
| notifications.bots.slack.serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
|
||||||
|
| notifications.bots.slack.serviceAccount.name | string | `"argocd-notifications-bot"` | The name of the service account to use. |
|
||||||
|
| notifications.bots.slack.tolerations | list | `[]` | [Tolerations] for use with node taints |
|
||||||
|
| notifications.bots.slack.updateStrategy | object | `{"type":"Recreate"}` | The deployment strategy to use to replace existing pods with new ones |
|
||||||
|
| notifications.cm.create | bool | `true` | Whether helm chart creates controller config map |
|
||||||
|
| notifications.cm.name | string | `""` | The name of the config map to use. |
|
||||||
|
| notifications.containerSecurityContext | object | `{}` | Container Security Context |
|
||||||
|
| notifications.context | object | `{}` | Define user-defined context |
|
||||||
|
| notifications.extraArgs | list | `[]` | Extra arguments to provide to the controller |
|
||||||
|
| notifications.extraEnv | list | `[]` | Additional container environment variables |
|
||||||
|
| notifications.extraVolumeMounts | list | `[]` | List of extra mounts to add (normally used with extraVolumes) |
|
||||||
|
| notifications.extraVolumes | list | `[]` | List of extra volumes to add |
|
||||||
|
| notifications.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the notifications controller |
|
||||||
|
| notifications.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the notifications controller |
|
||||||
|
| notifications.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the notifications controller |
|
||||||
|
| notifications.imagePullSecrets | list | `[]` | Secrets with credentials to pull images from a private registry |
|
||||||
|
| notifications.logLevel | string | `"info"` | Set the logging level. (One of: `debug`, `info`, `warn`, `error`) |
|
||||||
|
| notifications.metrics.enabled | bool | `false` | Enables prometheus metrics server |
|
||||||
|
| notifications.metrics.port | int | `9001` | Metrics port |
|
||||||
|
| notifications.metrics.service.annotations | object | `{}` | Metrics service annotations |
|
||||||
|
| notifications.metrics.service.labels | object | `{}` | Metrics service labels |
|
||||||
|
| notifications.metrics.serviceMonitor.additionalLabels | object | `{}` | Prometheus ServiceMonitor labels |
|
||||||
|
| notifications.metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
|
||||||
|
| notifications.name | string | `"notifications-controller"` | Notifications controller name string |
|
||||||
|
| notifications.nodeSelector | object | `{}` | [Node selector] |
|
||||||
|
| notifications.notifiers | object | See [values.yaml] | Configures notification services |
|
||||||
|
| notifications.podAnnotations | object | `{}` | Annotations to be applied to the controller Pods |
|
||||||
|
| notifications.podLabels | object | `{}` | Labels to be applied to the controller Pods |
|
||||||
|
| notifications.resources | object | `{}` | Resource limits and requests for the controller |
|
||||||
|
| notifications.secret.annotations | object | `{}` | key:value pairs of annotations to be added to the secret |
|
||||||
|
| notifications.secret.create | bool | `true` | Whether helm chart creates controller secret |
|
||||||
|
| notifications.secret.items | object | `{}` | Generic key:value pairs to be inserted into the secret |
|
||||||
|
| notifications.secret.name | string | `""` | The name of the secret to use. |
|
||||||
|
| notifications.securityContext | object | `{"runAsNonRoot":true}` | Pod Security Context |
|
||||||
|
| notifications.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
|
||||||
|
| notifications.serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
|
||||||
|
| notifications.serviceAccount.name | string | `"argocd-notifications-controller"` | The name of the service account to use. |
|
||||||
|
| notifications.subscriptions | object | `{}` | Contains centrally managed global application subscriptions |
|
||||||
|
| notifications.templates | object | `{}` | The notification template is used to generate the notification content |
|
||||||
|
| notifications.tolerations | list | `[]` | [Tolerations] for use with node taints |
|
||||||
|
| notifications.triggers | object | `{}` | The trigger defines the condition when the notification should be sent |
|
||||||
|
| notifications.updateStrategy | object | `{"type":"Recreate"}` | The deployment strategy to use to replace existing pods with new ones |
|
||||||
|
|
||||||
### Using AWS ALB Ingress Controller With GRPC
|
### Using AWS ALB Ingress Controller With GRPC
|
||||||
|
|
||||||
If you are using an AWS ALB Ingress controller, you will need to set `server.ingressGrpc.isAWSALB` to `true`. This will create a second service with the annotation `alb.ingress.kubernetes.io/backend-protocol-version: HTTP2` and modify the server ingress to add a condition annotation to route GRPC traffic to the new service.
|
If you are using an AWS ALB Ingress controller, you will need to set `server.ingressGrpc.isAWSALB` to `true`. This will create a second service with the annotation `alb.ingress.kubernetes.io/backend-protocol-version: HTTP2` and modify the server ingress to add a condition annotation to route GRPC traffic to the new service.
|
||||||
|
@ -668,7 +795,7 @@ server:
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
|
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
|
||||||
|
|
||||||
[ArgoCD RBAC policy]: https://argoproj.github.io/argo-cd/operator-manual/rbac/
|
[Argo CD RBAC policy]: https://argoproj.github.io/argo-cd/operator-manual/rbac/
|
||||||
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||||
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
||||||
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
||||||
|
@ -684,3 +811,4 @@ Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/
|
||||||
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||||
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||||
[values.yaml]: values.yaml
|
[values.yaml]: values.yaml
|
||||||
|
[v2.2 to 2.3 upgrade instructions]: https://github.com/argoproj/argo-cd/blob/v2.3.0/docs/operator-manual/upgrading/2.2-2.3.md
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Argo CD Chart
|
# Argo CD Chart
|
||||||
|
|
||||||
A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||||
|
|
||||||
Source code can be found [here](https://argoproj.github.io/argo-cd/)
|
Source code can be found [here](https://argoproj.github.io/argo-cd/)
|
||||||
|
|
||||||
|
@ -8,15 +8,15 @@ Source code can be found [here](https://argoproj.github.io/argo-cd/)
|
||||||
|
|
||||||
This is a **community maintained** chart. This chart installs [argo-cd](https://argoproj.github.io/argo-cd/), a declarative, GitOps continuous delivery tool for Kubernetes.
|
This is a **community maintained** chart. This chart installs [argo-cd](https://argoproj.github.io/argo-cd/), a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||||
|
|
||||||
The default installation is intended to be similar to the provided ArgoCD [releases](https://github.com/argoproj/argo-cd/releases).
|
The default installation is intended to be similar to the provided Argo CD [releases](https://github.com/argoproj/argo-cd/releases).
|
||||||
|
|
||||||
If you want to avoid including sensitive information unencrypted (clear text) in your version control, make use of the [declarative set up](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/) of Argo CD.
|
If you want to avoid including sensitive information unencrypted (clear text) in your version control, make use of the [declarative set up](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/) of Argo CD.
|
||||||
For instance, rather than adding repositories and their keys in your Helm values, you could deploy [SealedSecrets](https://github.com/bitnami-labs/sealed-secrets) with contents as seen in this [repositories section](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories) or any other secrets manager service (i.e. HashiCorp Vault, AWS/GCP Secrets Manager, etc.).
|
For instance, rather than adding repositories and their keys in your Helm values, you could deploy [SealedSecrets](https://github.com/bitnami-labs/sealed-secrets) with contents as seen in this [repositories section](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories) or any other secrets manager service (i.e. HashiCorp Vault, AWS/GCP Secrets Manager, etc.).
|
||||||
|
|
||||||
## High Availability
|
## High Availability
|
||||||
|
|
||||||
This chart installs the non-HA version of ArgoCD by default. If you want to run ArgoCD in HA mode, you can use one of the example values in the next sections.
|
This chart installs the non-HA version of Argo CD by default. If you want to run Argo CD in HA mode, you can use one of the example values in the next sections.
|
||||||
Please also have a look into the upstream [Operator Manual regarding High Availability](https://argoproj.github.io/argo-cd/operator-manual/high_availability/) to understand how scaling of ArgoCD works in detail.
|
Please also have a look into the upstream [Operator Manual regarding High Availability](https://argoproj.github.io/argo-cd/operator-manual/high_availability/) to understand how scaling of Argo CD works in detail.
|
||||||
|
|
||||||
> **Warning:**
|
> **Warning:**
|
||||||
> You need at least 3 worker nodes as the HA mode of redis enforces Pods to run on separate nodes.
|
> You need at least 3 worker nodes as the HA mode of redis enforces Pods to run on separate nodes.
|
||||||
|
@ -62,9 +62,9 @@ repoServer:
|
||||||
|
|
||||||
### Synchronizing Changes from Original Repository
|
### Synchronizing Changes from Original Repository
|
||||||
|
|
||||||
In the original [ArgoCD repository](https://github.com/argoproj/argo-cd/) an [`manifests/install.yaml`](https://github.com/argoproj/argo-cd/blob/master/manifests/install.yaml) is generated using `kustomize`. It's the basis for the installation as [described in the docs](https://argo-cd.readthedocs.io/en/stable/getting_started/#1-install-argo-cd).
|
In the original [Argo CD repository](https://github.com/argoproj/argo-cd/) an [`manifests/install.yaml`](https://github.com/argoproj/argo-cd/blob/master/manifests/install.yaml) is generated using `kustomize`. It's the basis for the installation as [described in the docs](https://argo-cd.readthedocs.io/en/stable/getting_started/#1-install-argo-cd).
|
||||||
|
|
||||||
When installing ArgoCD using this helm chart the user should have a similar experience and configuration rolled out. Hence, it makes sense to try to achieve a similar output of rendered `.yaml` resources when calling `helm template` using the default settings in `values.yaml`.
|
When installing Argo CD using this helm chart the user should have a similar experience and configuration rolled out. Hence, it makes sense to try to achieve a similar output of rendered `.yaml` resources when calling `helm template` using the default settings in `values.yaml`.
|
||||||
|
|
||||||
To update the templates and default settings in `values.yaml` it may come in handy to look up the diff of the `manifests/install.yaml` between two versions accordingly. This can either be done directly via github and look for `manifests/install.yaml`:
|
To update the templates and default settings in `values.yaml` it may come in handy to look up the diff of the `manifests/install.yaml` between two versions accordingly. This can either be done directly via github and look for `manifests/install.yaml`:
|
||||||
|
|
||||||
|
@ -82,13 +82,18 @@ Changes in the `CustomResourceDefinition` resources shall be fixed easily by cop
|
||||||
|
|
||||||
## Upgrading
|
## Upgrading
|
||||||
|
|
||||||
|
### 4.0.0 and above
|
||||||
|
|
||||||
|
This helm chart version deploys Argo CD v2.3. The Argo CD Notifications and ApplicationSet are part of Argo CD now. You no longer need to install them separately. The Notifications and ApplicationSet components **are bundled into default** Argo CD installation.
|
||||||
|
Please read the [v2.2 to 2.3 upgrade instructions] in the upstream repository.
|
||||||
|
|
||||||
### 3.13.0
|
### 3.13.0
|
||||||
|
|
||||||
This release removes the flag `--staticassets` from argocd server as it has been dropped upstream. If this flag needs to be enabled e.g for older releases of ArgoCD, it can be passed via the `server.extraArgs` field
|
This release removes the flag `--staticassets` from argocd server as it has been dropped upstream. If this flag needs to be enabled e.g for older releases of Argo CD, it can be passed via the `server.extraArgs` field
|
||||||
|
|
||||||
### 3.10.2
|
### 3.10.2
|
||||||
|
|
||||||
ArgoCD has recently deprecated the flag `--staticassets` and from chart version `3.10.2` has been disabled by default
|
Argo CD has recently deprecated the flag `--staticassets` and from chart version `3.10.2` has been disabled by default
|
||||||
It can be re-enabled by setting `server.staticAssets.enabled` to true
|
It can be re-enabled by setting `server.staticAssets.enabled` to true
|
||||||
|
|
||||||
### 3.8.1
|
### 3.8.1
|
||||||
|
@ -122,7 +127,7 @@ Please check if you are affected by one of these cases **before you upgrade**, e
|
||||||
### 3.2.*
|
### 3.2.*
|
||||||
|
|
||||||
With this minor version we introduced the evaluation for the ingress manifest (depending on the capabilities version), See [Pull Request](https://github.com/argoproj/argo-helm/pull/637).
|
With this minor version we introduced the evaluation for the ingress manifest (depending on the capabilities version), See [Pull Request](https://github.com/argoproj/argo-helm/pull/637).
|
||||||
[Issue 703](https://github.com/argoproj/argo-helm/issues/703) reported that the capabilities evaluation is **not handled correctly when deploying the chart via an ArgoCD instance**,
|
[Issue 703](https://github.com/argoproj/argo-helm/issues/703) reported that the capabilities evaluation is **not handled correctly when deploying the chart via an Argo CD instance**,
|
||||||
especially deploying on clusters running a cluster version prior to `1.19` (which misses `Ingress` on apiVersion `networking.k8s.io/v1`).
|
especially deploying on clusters running a cluster version prior to `1.19` (which misses `Ingress` on apiVersion `networking.k8s.io/v1`).
|
||||||
|
|
||||||
If you are running a cluster version prior to `1.19` you can avoid this issue by directly installing chart version `3.6.0` and setting `kubeVersionOverride` like:
|
If you are running a cluster version prior to `1.19` you can avoid this issue by directly installing chart version `3.6.0` and setting `kubeVersionOverride` like:
|
||||||
|
@ -140,7 +145,7 @@ Helm apiVersion switched to `v2`. Requires Helm `3.0.0` or above to install. [Re
|
||||||
|
|
||||||
### 2.14.7 and above
|
### 2.14.7 and above
|
||||||
|
|
||||||
The `matchLabels` key in the ArgoCD Application Controller is no longer hard-coded. Note that labels are immutable so caution should be exercised when making changes to this resource.
|
The `matchLabels` key in the Argo CD Application Controller is no longer hard-coded. Note that labels are immutable so caution should be exercised when making changes to this resource.
|
||||||
|
|
||||||
### 2.10.x to 2.11.0
|
### 2.10.x to 2.11.0
|
||||||
|
|
||||||
|
@ -189,7 +194,7 @@ NAME: my-release
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|-----|------|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
{{- range .Values }}
|
{{- range .Values }}
|
||||||
{{- if not (or (hasPrefix "controller" .Key) (hasPrefix "repoServer" .Key) (hasPrefix "server" .Key) (hasPrefix "dex" .Key) (hasPrefix "redis" .Key) ) }}
|
{{- if not (or (hasPrefix "controller" .Key) (hasPrefix "repoServer" .Key) (hasPrefix "server" .Key) (hasPrefix "dex" .Key) (hasPrefix "redis" .Key) (hasPrefix "applicationSet" .Key) (hasPrefix "notifications" .Key) ) }}
|
||||||
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if hasPrefix "server.additional" .Key }}
|
{{- if hasPrefix "server.additional" .Key }}
|
||||||
|
@ -197,7 +202,7 @@ NAME: my-release
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
## ArgoCD Controller
|
## Argo CD Controller
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|-----|------|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
|
@ -252,6 +257,25 @@ NAME: my-release
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
## ApplicationSet
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
{{- range .Values }}
|
||||||
|
{{- if hasPrefix "applicationSet" .Key }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
## Notifications
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
{{- range .Values }}
|
||||||
|
{{- if hasPrefix "notifications" .Key }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
|
||||||
### Using AWS ALB Ingress Controller With GRPC
|
### Using AWS ALB Ingress Controller With GRPC
|
||||||
|
@ -280,7 +304,7 @@ server:
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
|
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
|
||||||
|
|
||||||
[ArgoCD RBAC policy]: https://argoproj.github.io/argo-cd/operator-manual/rbac/
|
[Argo CD RBAC policy]: https://argoproj.github.io/argo-cd/operator-manual/rbac/
|
||||||
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||||
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
||||||
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
||||||
|
@ -296,3 +320,4 @@ Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/
|
||||||
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||||
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
[TopologySpreadConstraints]: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
||||||
[values.yaml]: values.yaml
|
[values.yaml]: values.yaml
|
||||||
|
[v2.2 to 2.3 upgrade instructions]: https://github.com/argoproj/argo-cd/blob/v2.3.0/docs/operator-manual/upgrading/2.2-2.3.md
|
||||||
|
|
|
@ -233,6 +233,11 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
ignoreMissingValueFiles:
|
||||||
|
description: IgnoreMissingValueFiles prevents helm template
|
||||||
|
from failing when valueFiles do not exist locally by
|
||||||
|
not appending them to helm template --values
|
||||||
|
type: boolean
|
||||||
parameters:
|
parameters:
|
||||||
description: Parameters is a list of Helm parameters which
|
description: Parameters is a list of Helm parameters which
|
||||||
are passed to the helm template command upon manifest
|
are passed to the helm template command upon manifest
|
||||||
|
@ -261,6 +266,10 @@ spec:
|
||||||
description: ReleaseName is the Helm release name to use.
|
description: ReleaseName is the Helm release name to use.
|
||||||
If omitted it will use the application name
|
If omitted it will use the application name
|
||||||
type: string
|
type: string
|
||||||
|
skipCrds:
|
||||||
|
description: SkipCrds skips custom resource definition
|
||||||
|
installation step (Helm's --skip-crds)
|
||||||
|
type: boolean
|
||||||
valueFiles:
|
valueFiles:
|
||||||
description: ValuesFiles is a list of Helm value files
|
description: ValuesFiles is a list of Helm value files
|
||||||
to use when generating a template
|
to use when generating a template
|
||||||
|
@ -598,6 +607,11 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
ignoreMissingValueFiles:
|
||||||
|
description: IgnoreMissingValueFiles prevents helm template
|
||||||
|
from failing when valueFiles do not exist locally by not
|
||||||
|
appending them to helm template --values
|
||||||
|
type: boolean
|
||||||
parameters:
|
parameters:
|
||||||
description: Parameters is a list of Helm parameters which
|
description: Parameters is a list of Helm parameters which
|
||||||
are passed to the helm template command upon manifest generation
|
are passed to the helm template command upon manifest generation
|
||||||
|
@ -625,6 +639,10 @@ spec:
|
||||||
description: ReleaseName is the Helm release name to use.
|
description: ReleaseName is the Helm release name to use.
|
||||||
If omitted it will use the application name
|
If omitted it will use the application name
|
||||||
type: string
|
type: string
|
||||||
|
skipCrds:
|
||||||
|
description: SkipCrds skips custom resource definition installation
|
||||||
|
step (Helm's --skip-crds)
|
||||||
|
type: boolean
|
||||||
valueFiles:
|
valueFiles:
|
||||||
description: ValuesFiles is a list of Helm value files to
|
description: ValuesFiles is a list of Helm value files to
|
||||||
use when generating a template
|
use when generating a template
|
||||||
|
@ -966,6 +984,11 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
ignoreMissingValueFiles:
|
||||||
|
description: IgnoreMissingValueFiles prevents helm template
|
||||||
|
from failing when valueFiles do not exist locally
|
||||||
|
by not appending them to helm template --values
|
||||||
|
type: boolean
|
||||||
parameters:
|
parameters:
|
||||||
description: Parameters is a list of Helm parameters
|
description: Parameters is a list of Helm parameters
|
||||||
which are passed to the helm template command upon
|
which are passed to the helm template command upon
|
||||||
|
@ -995,6 +1018,10 @@ spec:
|
||||||
description: ReleaseName is the Helm release name to
|
description: ReleaseName is the Helm release name to
|
||||||
use. If omitted it will use the application name
|
use. If omitted it will use the application name
|
||||||
type: string
|
type: string
|
||||||
|
skipCrds:
|
||||||
|
description: SkipCrds skips custom resource definition
|
||||||
|
installation step (Helm's --skip-crds)
|
||||||
|
type: boolean
|
||||||
valueFiles:
|
valueFiles:
|
||||||
description: ValuesFiles is a list of Helm value files
|
description: ValuesFiles is a list of Helm value files
|
||||||
to use when generating a template
|
to use when generating a template
|
||||||
|
@ -1349,6 +1376,12 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
ignoreMissingValueFiles:
|
||||||
|
description: IgnoreMissingValueFiles prevents
|
||||||
|
helm template from failing when valueFiles do
|
||||||
|
not exist locally by not appending them to helm
|
||||||
|
template --values
|
||||||
|
type: boolean
|
||||||
parameters:
|
parameters:
|
||||||
description: Parameters is a list of Helm parameters
|
description: Parameters is a list of Helm parameters
|
||||||
which are passed to the helm template command
|
which are passed to the helm template command
|
||||||
|
@ -1381,6 +1414,10 @@ spec:
|
||||||
to use. If omitted it will use the application
|
to use. If omitted it will use the application
|
||||||
name
|
name
|
||||||
type: string
|
type: string
|
||||||
|
skipCrds:
|
||||||
|
description: SkipCrds skips custom resource definition
|
||||||
|
installation step (Helm's --skip-crds)
|
||||||
|
type: boolean
|
||||||
valueFiles:
|
valueFiles:
|
||||||
description: ValuesFiles is a list of Helm value
|
description: ValuesFiles is a list of Helm value
|
||||||
files to use when generating a template
|
files to use when generating a template
|
||||||
|
@ -1714,6 +1751,11 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
ignoreMissingValueFiles:
|
||||||
|
description: IgnoreMissingValueFiles prevents helm
|
||||||
|
template from failing when valueFiles do not exist
|
||||||
|
locally by not appending them to helm template --values
|
||||||
|
type: boolean
|
||||||
parameters:
|
parameters:
|
||||||
description: Parameters is a list of Helm parameters
|
description: Parameters is a list of Helm parameters
|
||||||
which are passed to the helm template command upon
|
which are passed to the helm template command upon
|
||||||
|
@ -1744,6 +1786,10 @@ spec:
|
||||||
description: ReleaseName is the Helm release name
|
description: ReleaseName is the Helm release name
|
||||||
to use. If omitted it will use the application name
|
to use. If omitted it will use the application name
|
||||||
type: string
|
type: string
|
||||||
|
skipCrds:
|
||||||
|
description: SkipCrds skips custom resource definition
|
||||||
|
installation step (Helm's --skip-crds)
|
||||||
|
type: boolean
|
||||||
valueFiles:
|
valueFiles:
|
||||||
description: ValuesFiles is a list of Helm value files
|
description: ValuesFiles is a list of Helm value files
|
||||||
to use when generating a template
|
to use when generating a template
|
||||||
|
@ -2065,6 +2111,11 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
|
ignoreMissingValueFiles:
|
||||||
|
description: IgnoreMissingValueFiles prevents helm
|
||||||
|
template from failing when valueFiles do not exist
|
||||||
|
locally by not appending them to helm template --values
|
||||||
|
type: boolean
|
||||||
parameters:
|
parameters:
|
||||||
description: Parameters is a list of Helm parameters
|
description: Parameters is a list of Helm parameters
|
||||||
which are passed to the helm template command upon
|
which are passed to the helm template command upon
|
||||||
|
@ -2095,6 +2146,10 @@ spec:
|
||||||
description: ReleaseName is the Helm release name
|
description: ReleaseName is the Helm release name
|
||||||
to use. If omitted it will use the application name
|
to use. If omitted it will use the application name
|
||||||
type: string
|
type: string
|
||||||
|
skipCrds:
|
||||||
|
description: SkipCrds skips custom resource definition
|
||||||
|
installation step (Helm's --skip-crds)
|
||||||
|
type: boolean
|
||||||
valueFiles:
|
valueFiles:
|
||||||
description: ValuesFiles is a list of Helm value files
|
description: ValuesFiles is a list of Helm value files
|
||||||
to use when generating a template
|
to use when generating a template
|
||||||
|
|
6502
charts/argo-cd/crds/crd-applicationset.yaml
Normal file
6502
charts/argo-cd/crds/crd-applicationset.yaml
Normal file
File diff suppressed because it is too large
Load diff
|
@ -67,6 +67,20 @@ Create argocd repo-server name and version as used by the chart label.
|
||||||
{{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.repoServer.name | trunc 63 | trimSuffix "-" -}}
|
{{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.repoServer.name | trunc 63 | trimSuffix "-" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create argocd application set name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.applicationSet.fullname" -}}
|
||||||
|
{{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.applicationSet.name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create argocd notifications name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.notifications.fullname" -}}
|
||||||
|
{{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.notifications.name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Create the name of the controller service account to use
|
Create the name of the controller service account to use
|
||||||
*/}}
|
*/}}
|
||||||
|
@ -101,7 +115,7 @@ Create the name of the redis service account to use
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Create the name of the ArgoCD server service account to use
|
Create the name of the Argo CD server service account to use
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "argo-cd.serverServiceAccountName" -}}
|
{{- define "argo-cd.serverServiceAccountName" -}}
|
||||||
{{- if .Values.server.serviceAccount.create -}}
|
{{- if .Values.server.serviceAccount.create -}}
|
||||||
|
@ -122,6 +136,39 @@ Create the name of the repo-server service account to use
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the application set service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.applicationSetServiceAccountName" -}}
|
||||||
|
{{- if .Values.applicationSet.serviceAccount.create -}}
|
||||||
|
{{ default (include "argo-cd.applicationSet.fullname" .) .Values.applicationSet.serviceAccount.name }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ default "default" .Values.applicationSet.serviceAccount.name }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the notifications service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.notificationsServiceAccountName" -}}
|
||||||
|
{{- if .Values.notifications.serviceAccount.create -}}
|
||||||
|
{{ default (include "argo-cd.notifications.fullname" .) .Values.notifications.serviceAccount.name }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ default "default" .Values.notifications.serviceAccount.name }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the notifications bots slack service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.notificationsBotsSlackServiceAccountName" -}}
|
||||||
|
{{- if .Values.notifications.bots.slack.serviceAccount.create -}}
|
||||||
|
{{ default (include "argo-cd.notifications.fullname" .) .Values.notifications.bots.slack.serviceAccount.name }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ default "default" .Values.notifications.bots.slack.serviceAccount.name }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Create chart name and version as used by the chart label.
|
Create chart name and version as used by the chart label.
|
||||||
*/}}
|
*/}}
|
||||||
|
@ -196,8 +243,30 @@ Merge Argo Configuration with Preset Configuration
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Return the default ArgoCD app version
|
Return the default Argo CD app version
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "argo-cd.defaultTag" -}}
|
{{- define "argo-cd.defaultTag" -}}
|
||||||
{{- default .Chart.AppVersion .Values.global.image.tag }}
|
{{- default .Chart.AppVersion .Values.global.image.tag }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the notifications controller secret to use
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.notifications.secretName" -}}
|
||||||
|
{{- if .Values.notifications.secret.create -}}
|
||||||
|
{{ default (printf "%s-secret" (include "argo-cd.notifications.fullname" .)) .Values.notifications.secret.name }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ default "argocd-notifications-secret" .Values.notifications.secret.name }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the configmap to use
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.notifications.configMapName" -}}
|
||||||
|
{{- if .Values.notifications.cm.create -}}
|
||||||
|
{{ default (printf "%s-cm" (include "argo-cd.notifications.fullname" .)) .Values.notifications.cm.name }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ default "argocd-notifications-cm" .Values.notifications.cm.name }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
126
charts/argo-cd/templates/argocd-applicationset/deployment.yaml
Normal file
126
charts/argo-cd/templates/argocd-applicationset/deployment.yaml
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.applicationSet.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
|
||||||
|
app.kubernetes.io/version: {{ default (include "argo-cd.defaultTag" .) .Values.applicationSet.image.tag | quote }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.applicationSet.replicaCount }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.applicationSet.name) | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
{{- with .Values.applicationSet.podAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 8 }}
|
||||||
|
app.kubernetes.io/version: {{ default (include "argo-cd.defaultTag" .) .Values.applicationSet.image.tag | quote }}
|
||||||
|
{{- with (mergeOverwrite (deepCopy .Values.global.podLabels) .Values.applicationSet.podLabels) }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- with .Values.applicationSet.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
serviceAccountName: {{ include "argo-cd.applicationSetServiceAccountName" . }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.applicationSet.podSecurityContext | nindent 8 }}
|
||||||
|
containers:
|
||||||
|
- name: {{ .Values.applicationSet.name }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.applicationSet.securityContext | nindent 12 }}
|
||||||
|
command:
|
||||||
|
- applicationset-controller
|
||||||
|
- --metrics-addr={{ .Values.applicationSet.args.metricsAddr }}
|
||||||
|
- --probe-addr={{ .Values.applicationSet.args.probeBindAddr }}
|
||||||
|
{{- if or (gt ( .Values.applicationSet.replicaCount | int64) 1) .Values.applicationSet.args.enableLeaderElection }}
|
||||||
|
- --enable-leader-election=true
|
||||||
|
{{- end }}
|
||||||
|
- --namespace={{ .Release.Namespace }}
|
||||||
|
- --argocd-repo-server={{ template "argo-cd.repoServer.fullname" . }}:{{ .Values.repoServer.service.port }}
|
||||||
|
- --policy={{ .Values.applicationSet.args.policy }}
|
||||||
|
- --debug={{ .Values.applicationSet.args.debug }}
|
||||||
|
- --dry-run={{ .Values.applicationSet.args.dryRun }}
|
||||||
|
{{- with .Values.applicationSet.extraArgs }}
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
image: {{ default .Values.global.image.repository .Values.applicationSet.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.applicationSet.image.tag }}
|
||||||
|
imagePullPolicy: {{ default .Values.global.image.imagePullPolicy .Values.applicationSet.image.imagePullPolicy }}
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: {{ (split ":" .Values.applicationSet.args.probeBindAddr)._1 }}
|
||||||
|
protocol: TCP
|
||||||
|
- name: metrics
|
||||||
|
containerPort: {{ (split ":" .Values.applicationSet.args.metricsAddr)._1 }}
|
||||||
|
protocol: TCP
|
||||||
|
- name: webhook
|
||||||
|
containerPort: 7000
|
||||||
|
protocol: TCP
|
||||||
|
{{- with .Values.applicationSet.extraEnv }}
|
||||||
|
env:
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.applicationSet.extraEnvFrom }}
|
||||||
|
envFrom:
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.applicationSet.resources | nindent 12 }}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /tmp
|
||||||
|
name: tmp-dir
|
||||||
|
{{- if .Values.configs.knownHosts }}
|
||||||
|
- mountPath: /app/config/ssh
|
||||||
|
name: ssh-known-hosts
|
||||||
|
{{- end }}
|
||||||
|
- mountPath: /app/config/tls
|
||||||
|
name: tls-certs
|
||||||
|
- mountPath: /app/config/gpg/source
|
||||||
|
name: gpg-keys
|
||||||
|
- mountPath: /app/config/gpg/keys
|
||||||
|
name: gpg-keyring
|
||||||
|
{{- with .Values.applicationSet.extraVolumeMounts }}
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.applicationSet.extraContainers }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- emptyDir: {}
|
||||||
|
name: tmp-dir
|
||||||
|
{{- if .Values.configs.knownHosts }}
|
||||||
|
- configMap:
|
||||||
|
name: argocd-ssh-known-hosts-cm
|
||||||
|
name: ssh-known-hosts
|
||||||
|
{{- end }}
|
||||||
|
- configMap:
|
||||||
|
name: argocd-tls-certs-cm
|
||||||
|
name: tls-certs
|
||||||
|
- configMap:
|
||||||
|
name: argocd-gpg-keys-cm
|
||||||
|
name: gpg-keys
|
||||||
|
- emptyDir: {}
|
||||||
|
name: gpg-keyring
|
||||||
|
{{- with .Values.applicationSet.extraVolumes }}
|
||||||
|
{{- toYaml . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.applicationSet.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.applicationSet.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.applicationSet.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.applicationSet.priorityClassName }}
|
||||||
|
priorityClassName: {{ . }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,25 @@
|
||||||
|
{{- if .Values.applicationSet.metrics.enabled }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
{{- if .Values.applicationSet.metrics.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := .Values.applicationSet.metrics.service.annotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" "metrics") | nindent 4 }}
|
||||||
|
{{- if .Values.applicationSet.metrics.service.labels }}
|
||||||
|
{{- toYaml .Values.applicationSet.metrics.service.labels | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
name: {{ template "argo-cd.applicationSet.fullname" . }}-metrics
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: metrics
|
||||||
|
protocol: TCP
|
||||||
|
port: {{ .Values.applicationSet.metrics.service.servicePort }}
|
||||||
|
targetPort: metrics
|
||||||
|
selector:
|
||||||
|
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.applicationSet.name) | nindent 4 }}
|
||||||
|
{{- end }}
|
83
charts/argo-cd/templates/argocd-applicationset/role.yaml
Normal file
83
charts/argo-cd/templates/argocd-applicationset/role.yaml
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.applicationSet.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | 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
|
|
@ -0,0 +1,14 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.applicationSet.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: {{ template "argo-cd.applicationSet.fullname" . }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: {{ template "argo-cd.applicationSetServiceAccountName" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
19
charts/argo-cd/templates/argocd-applicationset/service.yaml
Normal file
19
charts/argo-cd/templates/argocd-applicationset/service.yaml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
{{- if .Values.applicationSet.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := .Values.applicationSet.service.annotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
name: {{ template "argo-cd.applicationSet.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: {{ .Values.applicationSet.service.portName }}
|
||||||
|
port: {{ .Values.applicationSet.service.port }}
|
||||||
|
targetPort: {{ .Values.applicationSet.containerPort }}
|
||||||
|
selector:
|
||||||
|
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.applicationSet.name) | nindent 4 }}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{{- if .Values.applicationSet.serviceAccount.create }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
automountServiceAccountToken: {{ .Values.applicationSet.serviceAccount.automountServiceAccountToken }}
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.applicationSetServiceAccountName" . }}
|
||||||
|
{{- if .Values.applicationSet.serviceAccount.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := .Values.applicationSet.serviceAccount.annotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,38 @@
|
||||||
|
{{- if and .Values.applicationSet.metrics.enabled .Values.applicationSet.metrics.serviceMonitor.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.applicationSet.fullname" . }}
|
||||||
|
{{- with .Values.applicationSet.metrics.serviceMonitor.namespace }}
|
||||||
|
namespace: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
|
||||||
|
{{- with .Values.applicationSet.metrics.serviceMonitor.selector }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.applicationSet.metrics.serviceMonitor.additionalLabels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
{{- with .Values.applicationSet.metrics.serviceMonitor.interval }}
|
||||||
|
interval: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
path: /metrics
|
||||||
|
{{- with .Values.applicationSet.metrics.serviceMonitor.relabelings }}
|
||||||
|
relabelings:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.applicationSet.metrics.serviceMonitor.metricRelabelings }}
|
||||||
|
metricRelabelings:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Release.Namespace }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "argo-cd.selectorLabels" (dict "context" . "component" .Values.applicationSet.name "name" "metrics") | nindent 6 }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,89 @@
|
||||||
|
{{- if .Values.applicationSet.webhook.ingress.enabled -}}
|
||||||
|
{{- $serviceName := include "argo-cd.applicationSet.fullname" . -}}
|
||||||
|
{{- $servicePort := .Values.applicationSet.service.portName -}}
|
||||||
|
{{- $paths := .Values.applicationSet.webhook.ingress.paths -}}
|
||||||
|
{{- $extraPaths := .Values.applicationSet.webhook.ingress.extraPaths -}}
|
||||||
|
{{- $pathType := .Values.applicationSet.webhook.ingress.pathType -}}
|
||||||
|
apiVersion: {{ include "argo-cd.ingress.apiVersion" . }}
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
{{- if .Values.applicationSet.webhook.ingress.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := .Values.applicationSet.webhook.ingress.annotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
name: {{ template "argo-cd.applicationSet.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
|
||||||
|
{{- if .Values.applicationSet.webhook.ingress.labels }}
|
||||||
|
{{- toYaml .Values.applicationSet.webhook.ingress.labels | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- if eq (include "argo-cd.ingress.apiVersion" $) "networking.k8s.io/v1" }}
|
||||||
|
{{- with .Values.applicationSet.webhook.ingress.ingressClassName }}
|
||||||
|
ingressClassName: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
rules:
|
||||||
|
{{- if .Values.applicationSet.webhook.ingress.hosts }}
|
||||||
|
{{- range $host := .Values.applicationSet.webhook.ingress.hosts }}
|
||||||
|
- host: {{ $host }}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
{{- if $extraPaths }}
|
||||||
|
{{- toYaml $extraPaths | nindent 10 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range $p := $paths }}
|
||||||
|
- path: {{ $p }}
|
||||||
|
{{- if eq (include "argo-cd.ingress.apiVersion" $) "networking.k8s.io/v1" }}
|
||||||
|
pathType: {{ $pathType }}
|
||||||
|
{{- end }}
|
||||||
|
backend:
|
||||||
|
{{- if eq (include "argo-cd.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-cd.ingress.apiVersion" $) "networking.k8s.io/v1" }}
|
||||||
|
pathType: {{ $pathType }}
|
||||||
|
{{- end }}
|
||||||
|
backend:
|
||||||
|
{{- if eq (include "argo-cd.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.applicationSet.webhook.ingress.tls }}
|
||||||
|
tls:
|
||||||
|
{{- toYaml .Values.applicationSet.webhook.ingress.tls | nindent 4 }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,55 @@
|
||||||
|
{{ if .Values.notifications.bots.slack.enabled }}
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}-bot
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.bots.slack.name "name" .Values.notifications.bots.slack.name) | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
strategy:
|
||||||
|
{{- .Values.notifications.bots.slack.updateStrategy | toYaml | nindent 4 }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "argo-cd.selectorLabels" (dict "context" . "component" .Values.notifications.bots.slack.name "name" "metrics") | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.selectorLabels" (dict "context" . "component" .Values.notifications.bots.slack.name "name" "metrics") | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
{{- with .Values.notifications.bots.slack.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
serviceAccountName: {{ template "argo-cd.notificationsBotsSlackServiceAccountName" . }}
|
||||||
|
{{- with .Values.notifications.bots.slack.securityContext }}
|
||||||
|
securityContext: {{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
- name: {{ template "argo-cd.notifications.fullname" . }}-bot
|
||||||
|
image: {{ default .Values.global.image.repository .Values.notifications.bots.slack.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.notifications.bots.slack.image.tag }}
|
||||||
|
imagePullPolicy: {{ default .Values.global.image.imagePullPolicy .Values.notifications.bots.slack.image.pullPolicy }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.notifications.bots.slack.resources | nindent 12 }}
|
||||||
|
command:
|
||||||
|
- argocd-notifications
|
||||||
|
- bot
|
||||||
|
workingDir: /app
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
name: http
|
||||||
|
{{- with .Values.notifications.bots.slack.containerSecurityContext }}
|
||||||
|
securityContext: {{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.bots.slack.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.bots.slack.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.bots.slack.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,27 @@
|
||||||
|
{{ if .Values.notifications.bots.slack.enabled }}
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}-bot
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
- configmaps
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- argoproj.io
|
||||||
|
resources:
|
||||||
|
- applications
|
||||||
|
- appprojects
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,13 @@
|
||||||
|
{{ if .Values.notifications.bots.slack.enabled }}
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}-bot
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}-bot
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: {{ template "argo-cd.notificationsBotsSlackServiceAccountName" . }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,19 @@
|
||||||
|
{{ if .Values.notifications.bots.slack.enabled }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}-bot
|
||||||
|
{{- if .Values.notifications.bots.slack.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml .Values.notifications.bots.slack.service.annotations | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: {{ .Values.notifications.bots.slack.service.port }}
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: http
|
||||||
|
selector:
|
||||||
|
{{- include "argo-cd.selectorLabels" (dict "context" . "component" .Values.notifications.bots.slack.name "name" "metrics") | nindent 6 }}
|
||||||
|
type: {{ .Values.notifications.bots.slack.service.type }}
|
||||||
|
{{ end }}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{{- if .Values.notifications.bots.slack.serviceAccount.create }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
automountServiceAccountToken: {{ .Values.notifications.bots.slack.serviceAccount.automountServiceAccountToken }}
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notificationsBotsSlackServiceAccountName" . }}
|
||||||
|
{{- if .Values.notifications.bots.slack.serviceAccount.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := .Values.notifications.bots.slack.serviceAccount.annotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.bots.slack.name "name" .Values.notifications.bots.slack.name) | nindent 4 }}
|
||||||
|
{{- end }}
|
27
charts/argo-cd/templates/argocd-notifications/configmap.yaml
Normal file
27
charts/argo-cd/templates/argocd-notifications/configmap.yaml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{{ if .Values.notifications.cm.create }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ include "argo-cd.notifications.configMapName" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
|
||||||
|
data:
|
||||||
|
context: |
|
||||||
|
argocdUrl: {{ .Values.notifications.argocdUrl | quote }}
|
||||||
|
{{- with .Values.notifications.context }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.notifiers }}
|
||||||
|
{{- toYaml . | nindent 2 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.subscriptions }}
|
||||||
|
subscriptions: |
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.templates }}
|
||||||
|
{{- toYaml . | nindent 2 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.triggers }}
|
||||||
|
{{- toYaml . | nindent 2 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
106
charts/argo-cd/templates/argocd-notifications/deployment.yaml
Normal file
106
charts/argo-cd/templates/argocd-notifications/deployment.yaml
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
|
||||||
|
app.kubernetes.io/version: {{ default (include "argo-cd.defaultTag" .) .Values.notifications.image.tag | quote }}
|
||||||
|
spec:
|
||||||
|
strategy:
|
||||||
|
{{- .Values.notifications.updateStrategy | toYaml | nindent 4 }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.notifications.name) | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
{{- if .Values.notifications.podAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := .Values.notifications.podAnnotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 8 }}
|
||||||
|
app.kubernetes.io/version: {{ default (include "argo-cd.defaultTag" .) .Values.notifications.image.tag | quote }}
|
||||||
|
{{- with (mergeOverwrite (deepCopy .Values.global.podLabels) .Values.notifications.podLabels) }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- with .Values.notifications.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
serviceAccountName: {{ include "argo-cd.notificationsServiceAccountName" . }}
|
||||||
|
{{- if .Values.notifications.securityContext }}
|
||||||
|
securityContext: {{- toYaml .Values.notifications.securityContext | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
- name: {{ .Values.notifications.name }}
|
||||||
|
image: {{ default .Values.global.image.repository .Values.notifications.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.notifications.image.tag }}
|
||||||
|
imagePullPolicy: {{ default .Values.global.image.imagePullPolicy .Values.notifications.image.imagePullPolicy }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.notifications.resources | nindent 12 }}
|
||||||
|
command:
|
||||||
|
- argocd-notifications
|
||||||
|
- --loglevel={{ .Values.notifications.logLevel }}
|
||||||
|
{{- if .Values.notifications.metrics.enabled }}
|
||||||
|
- --metrics-port={{ .Values.notifications.metrics.port }}
|
||||||
|
{{- end }}
|
||||||
|
- --namespace={{ .Release.Namespace }}
|
||||||
|
- --argocd-repo-server={{ template "argo-cd.repoServer.fullname" . }}:{{ .Values.repoServer.service.port }}
|
||||||
|
- --secret-name={{ include "argo-cd.notifications.secretName" . }}
|
||||||
|
- --config-map-name={{ include "argo-cd.notifications.configMapName" . }}
|
||||||
|
{{- range .Values.notifications.extraArgs }}
|
||||||
|
- {{ . | squote }}
|
||||||
|
{{- end }}
|
||||||
|
workingDir: /app
|
||||||
|
ports:
|
||||||
|
{{- if .Values.notifications.metrics.enabled }}
|
||||||
|
- containerPort: {{ .Values.notifications.metrics.port }}
|
||||||
|
name: metrics
|
||||||
|
protocol: TCP
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.notifications.containerSecurityContext }}
|
||||||
|
securityContext: {{- toYaml .Values.notifications.containerSecurityContext | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.extraEnv }}
|
||||||
|
env: {{ toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: tls-certs
|
||||||
|
mountPath: /app/config/tls
|
||||||
|
- name: argocd-repo-server-tls
|
||||||
|
mountPath: /app/config/reposerver/tls
|
||||||
|
{{- with .Values.notifications.extraVolumeMounts }}
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- configMap:
|
||||||
|
name: argocd-tls-certs-cm
|
||||||
|
name: tls-certs
|
||||||
|
- name: argocd-repo-server-tls
|
||||||
|
secret:
|
||||||
|
items:
|
||||||
|
- key: tls.crt
|
||||||
|
path: tls.crt
|
||||||
|
- key: tls.key
|
||||||
|
path: tls.key
|
||||||
|
- key: ca.crt
|
||||||
|
path: ca.crt
|
||||||
|
optional: true
|
||||||
|
secretName: argocd-repo-server-tls
|
||||||
|
{{- with .Values.notifications.extraVolumes }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
42
charts/argo-cd/templates/argocd-notifications/role.yaml
Normal file
42
charts/argo-cd/templates/argocd-notifications/role.yaml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- argoproj.io
|
||||||
|
resources:
|
||||||
|
- applications
|
||||||
|
- appprojects
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resourceNames:
|
||||||
|
- {{ template "argo-cd.notifications.fullname" . }}-cm
|
||||||
|
resources:
|
||||||
|
- configmaps
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resourceNames:
|
||||||
|
- {{ template "argo-cd.notifications.fullname" . }}-secret
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- get
|
|
@ -0,0 +1,14 @@
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: {{ template "argo-cd.notificationsServiceAccountName" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
19
charts/argo-cd/templates/argocd-notifications/secret.yaml
Normal file
19
charts/argo-cd/templates/argocd-notifications/secret.yaml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{{ if .Values.notifications.secret.create }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: {{ include "argo-cd.notifications.secretName" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
|
||||||
|
{{- if .Values.notifications.secret.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := .Values.notifications.secret.annotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
{{- with .Values.notifications.secret.items }}
|
||||||
|
{{ toYaml . | nindent 2 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{{- if .Values.notifications.metrics.enabled }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}-metrics
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
|
||||||
|
{{- with .Values.notifications.metrics.service.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.notifications.metrics.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
{{- include "argo-cd.selectorLabels" (dict "context" . "component" .Values.notifications.name "name" "metrics") | nindent 6 }}
|
||||||
|
ports:
|
||||||
|
- name: metrics
|
||||||
|
port: {{ .Values.notifications.metrics.port }}
|
||||||
|
targetPort: {{ .Values.notifications.metrics.port }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{{- if .Values.notifications.serviceAccount.create }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
automountServiceAccountToken: {{ .Values.notifications.serviceAccount.automountServiceAccountToken }}
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notificationsServiceAccountName" . }}
|
||||||
|
{{- if .Values.notifications.serviceAccount.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := .Values.notifications.serviceAccount.annotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{{- if and .Values.notifications.metrics.enabled .Values.notifications.metrics.serviceMonitor.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.notifications.fullname" . }}-metrics
|
||||||
|
{{- if .Values.notifications.metrics.serviceMonitor.namespace }}
|
||||||
|
namespace: {{ .Values.notifications.metrics.serviceMonitor.namespace }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
|
||||||
|
{{- if .Values.notifications.metrics.serviceMonitor.additionalLabels }}
|
||||||
|
{{- toYaml .Values.notifications.metrics.serviceMonitor.additionalLabels | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
path: /metrics
|
||||||
|
{{- if .Values.notifications.metrics.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.notifications.metrics.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.notifications.metrics.serviceMonitor.scrapeTimeout }}
|
||||||
|
scrapeTimeout: {{ .Values.notifications.metrics.serviceMonitor.scrapeTimeout }}
|
||||||
|
{{- end }}
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Release.Namespace }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "argo-cd.selectorLabels" (dict "context" . "component" .Values.notifications.name "name" "metrics") | nindent 6 }}
|
||||||
|
{{- end }}
|
|
@ -1,4 +1,4 @@
|
||||||
## ArgoCD configuration
|
## Argo CD configuration
|
||||||
## Ref: https://github.com/argoproj/argo-cd
|
## Ref: https://github.com/argoproj/argo-cd
|
||||||
##
|
##
|
||||||
|
|
||||||
|
@ -11,11 +11,11 @@ kubeVersionOverride: ""
|
||||||
|
|
||||||
global:
|
global:
|
||||||
image:
|
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
|
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: ""
|
tag: ""
|
||||||
# -- If defined, a imagePullPolicy applied to all ArgoCD deployments
|
# -- If defined, a imagePullPolicy applied to all Argo CD deployments
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
# -- Annotations for the all deployed pods
|
# -- Annotations for the all deployed pods
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
|
@ -107,8 +107,7 @@ controller:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
|
||||||
# -- Deploy the application controller as a StatefulSet instead of a Deployment, this is required for HA capability.
|
# -- 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: true
|
||||||
enableStatefulSet: false
|
|
||||||
|
|
||||||
## Application controller commandline flags
|
## Application controller commandline flags
|
||||||
args:
|
args:
|
||||||
|
@ -288,9 +287,9 @@ controller:
|
||||||
# labels:
|
# labels:
|
||||||
# severity: critical
|
# severity: critical
|
||||||
# annotations:
|
# annotations:
|
||||||
# summary: "[ArgoCD] No reported applications"
|
# summary: "[Argo CD] No reported applications"
|
||||||
# description: >
|
# 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
|
# means that it must be down or not functioning properly. This needs to be
|
||||||
# resolved for this cloud to continue to maintain state.
|
# resolved for this cloud to continue to maintain state.
|
||||||
# - alert: ArgoAppNotSynced
|
# - alert: ArgoAppNotSynced
|
||||||
|
@ -310,7 +309,7 @@ controller:
|
||||||
# namespace: monitoring
|
# namespace: monitoring
|
||||||
# additionalLabels: {}
|
# 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:
|
clusterAdminAccess:
|
||||||
# -- Enable RBAC for local cluster deployments
|
# -- Enable RBAC for local cluster deployments
|
||||||
enabled: true
|
enabled: true
|
||||||
|
@ -329,7 +328,7 @@ controller:
|
||||||
# -- Init containers to add to the application controller pod
|
# -- Init containers to add to the application controller pod
|
||||||
## If your target Kubernetes cluster(s) require a custom auth provider executable
|
## 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
|
## 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: []
|
initContainers: []
|
||||||
# - name: download-tools
|
# - name: download-tools
|
||||||
# image: alpine:3.8
|
# image: alpine:3.8
|
||||||
|
@ -1134,7 +1133,7 @@ server:
|
||||||
# -- Termination policy of Openshift Route
|
# -- Termination policy of Openshift Route
|
||||||
termination_policy: None
|
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
|
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-cm.yaml
|
||||||
configEnabled: true
|
configEnabled: true
|
||||||
# -- [General Argo CD configuration]
|
# -- [General Argo CD configuration]
|
||||||
|
@ -1171,10 +1170,10 @@ server:
|
||||||
# - profile
|
# - profile
|
||||||
# - email
|
# - email
|
||||||
|
|
||||||
# -- Annotations to be added to ArgoCD ConfigMap
|
# -- Annotations to be added to Argo CD ConfigMap
|
||||||
configAnnotations: {}
|
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
|
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/rbac.md
|
||||||
rbacConfig:
|
rbacConfig:
|
||||||
{}
|
{}
|
||||||
|
@ -1197,14 +1196,14 @@ server:
|
||||||
# If omitted, defaults to: '[groups]'. The scope value can be a string, or a list of strings.
|
# If omitted, defaults to: '[groups]'. The scope value can be a string, or a list of strings.
|
||||||
# scopes: '[cognito:groups, email]'
|
# scopes: '[cognito:groups, email]'
|
||||||
|
|
||||||
# -- Annotations to be added to ArgoCD rbac ConfigMap
|
# -- Annotations to be added to Argo CD rbac ConfigMap
|
||||||
rbacConfigAnnotations: {}
|
rbacConfigAnnotations: {}
|
||||||
|
|
||||||
# -- Whether or not to create the configmap. If false, it is expected the configmap will be created
|
# -- 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
|
rbacConfigCreate: true
|
||||||
|
|
||||||
# -- Deploy ArgoCD Applications within this helm release
|
# -- Deploy Argo CD Applications within this helm release
|
||||||
# @default -- `[]` (See [values.yaml])
|
# @default -- `[]` (See [values.yaml])
|
||||||
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
|
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
|
||||||
additionalApplications: []
|
additionalApplications: []
|
||||||
|
@ -1237,7 +1236,7 @@ server:
|
||||||
# - name: url
|
# - name: url
|
||||||
# value: https://argoproj.github.io/
|
# value: https://argoproj.github.io/
|
||||||
|
|
||||||
# -- Deploy ArgoCD Projects within this helm release
|
# -- Deploy Argo CD Projects within this helm release
|
||||||
# @default -- `[]` (See [values.yaml])
|
# @default -- `[]` (See [values.yaml])
|
||||||
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
|
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
|
||||||
additionalProjects: []
|
additionalProjects: []
|
||||||
|
@ -1281,7 +1280,7 @@ server:
|
||||||
# - keyID: ABCDEF1234567890
|
# - keyID: ABCDEF1234567890
|
||||||
|
|
||||||
## Enable Admin ClusterRole resources.
|
## 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:
|
clusterAdminAccess:
|
||||||
# -- Enable RBAC for local cluster deployments
|
# -- Enable RBAC for local cluster deployments
|
||||||
enabled: true
|
enabled: true
|
||||||
|
@ -1345,7 +1344,7 @@ server:
|
||||||
# -- Init containers to add to the server pod
|
# -- Init containers to add to the server pod
|
||||||
## If your target Kubernetes cluster(s) require a custom auth provider executable
|
## 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
|
## 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: []
|
initContainers: []
|
||||||
# - name: download-tools
|
# - name: download-tools
|
||||||
# image: alpine:3.8
|
# image: alpine:3.8
|
||||||
|
@ -1571,7 +1570,7 @@ repoServer:
|
||||||
additionalLabels: {}
|
additionalLabels: {}
|
||||||
|
|
||||||
## Enable Admin ClusterRole resources.
|
## 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:
|
clusterAdminAccess:
|
||||||
# -- Enable RBAC for local cluster deployments
|
# -- Enable RBAC for local cluster deployments
|
||||||
enabled: false
|
enabled: false
|
||||||
|
@ -1861,3 +1860,672 @@ configs:
|
||||||
openshift:
|
openshift:
|
||||||
# -- enables using arbitrary uid for argo repo server
|
# -- enables using arbitrary uid for argo repo server
|
||||||
enabled: false
|
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: {}
|
||||||
|
|
Loading…
Reference in a new issue