Merge branch 'main' into main

Signed-off-by: shlomi tubul <33376277+shlomitubul@users.noreply.github.com>
This commit is contained in:
shlomi tubul 2024-05-10 11:44:52 +03:00 committed by GitHub
commit 53d4e19137
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
118 changed files with 1929 additions and 721 deletions

7
.github/configs/renovate-config.js vendored Normal file
View file

@ -0,0 +1,7 @@
module.exports = {
platform: 'github',
gitAuthor: 'renovate[bot] <renovate[bot]@users.noreply.github.com>',
autodiscover: false,
allowPostUpgradeCommandTemplating: true,
allowedPostUpgradeCommands: [".*"],
};

View file

@ -1,57 +0,0 @@
## Used on Renovate PRs to bump the chart version and add a changelog entry
## Reference: https://github.com/stefanzweifel/git-auto-commit-action
## Reference: https://github.com/marketplace/actions/changed-files
name: 'Chart Version Bump and Changelog'
on:
pull_request:
types:
- labeled
permissions:
contents: write
jobs:
helm-bumper:
if: ${{ (contains(github.event.pull_request.labels.*.name, 'renovate')) }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
token: ${{ secrets.PAT }}
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 # v42.0.2
with:
files: charts/{argo-workflows,argo-cd,argo-events,argo-rollouts,argocd-image-updater}/Chart.yaml
- name: "Bump Version and Changelog"
run: |
chartName="$(echo \"${{ steps.changed-files.outputs.all_changed_files }}\" | cut -d '/' -f2)"
echo "Changed chart name is: $chartName"
echo "----------------------------------------"
parentDir="charts/${chartName}"
# Bump the chart version by one patch version
version=$(grep '^version:' ${parentDir}/Chart.yaml | awk '{print $2}')
major=$(echo $version | cut -d. -f1)
minor=$(echo $version | cut -d. -f2)
patch=$(echo $version | cut -d. -f3)
patch=$(expr $patch + 1)
sed -i "s/^version:.*/version: ${major}.${minor}.${patch}/g" ${parentDir}/Chart.yaml
# Add a changelog entry
appVersion=$(grep '^appVersion:' ${parentDir}/Chart.yaml | awk '{print $2}')
sed -i -e '/^ artifacthub.io\/changes: |/,$d' ${parentDir}/Chart.yaml
echo " artifacthub.io/changes: |" >> ${parentDir}/Chart.yaml
echo " - kind: changed" >> ${parentDir}/Chart.yaml
echo " description: Bump ${chartName} to ${appVersion}" >> ${parentDir}/Chart.yaml
cat ${parentDir}/Chart.yaml
- name: "Commit and push changes"
uses: stefanzweifel/git-auto-commit-action@8756aa072ef5b4a080af5dc8fef36c5d586e521d # v5.0.0
with:
commit_options: '--signoff'

View file

@ -13,7 +13,7 @@ jobs:
options: --user 1001 options: --user 1001
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Run ah lint - name: Run ah lint
working-directory: ./charts working-directory: ./charts
run: ah lint run: ah lint
@ -22,17 +22,17 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Set up Helm - name: Set up Helm
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5 uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
with: with:
version: v3.10.1 # Also update in publish.yaml version: v3.10.1 # Also update in publish.yaml
- name: Set up python - name: Set up python
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with: with:
python-version: 3.9 python-version: 3.9
@ -70,7 +70,7 @@ jobs:
fi fi
- name: Create kind cluster - name: Create kind cluster
uses: helm/kind-action@dda0770415bac9fc20092cacbc54aa298604d140 # v1.8.0 uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
if: steps.list-changed.outputs.changed == 'true' if: steps.list-changed.outputs.changed == 'true'
with: with:
config: .github/configs/kind-config.yaml config: .github/configs/kind-config.yaml

View file

@ -25,6 +25,6 @@ jobs:
size-label: size-label:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: pascalgn/size-label-action@37a5ad4ae20ea8032abf169d953bcd661fd82cd3 # v0.5.0 - uses: pascalgn/size-label-action@bbbaa0d5ccce8e2e76254560df5c64b82dac2e12 # v0.5.2
env: env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

View file

@ -19,7 +19,7 @@ jobs:
name: Validate PR title name: Validate PR title
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: amannn/action-semantic-pull-request@e9fabac35e210fea40ca5b14c0da95a099eff26f # v5.4.0 - uses: amannn/action-semantic-pull-request@cfb60706e18bc85e8aec535e3c577abe8f70378e # v5.5.2
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:

View file

@ -12,18 +12,19 @@ permissions:
jobs: jobs:
publish: publish:
if: github.repository == 'argoproj/argo-helm'
permissions: permissions:
contents: write # for helm/chart-releaser-action to push chart release and create a release contents: write # for helm/chart-releaser-action to push chart release and create a release
packages: write # to push OCI chart package to GitHub Registry packages: write # to push OCI chart package to GitHub Registry
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Install Helm - name: Install Helm
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5 uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
with: with:
version: v3.10.1 # Also update in lint-and-test.yaml version: v3.10.1 # Also update in lint-and-test.yaml
@ -65,7 +66,7 @@ jobs:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: Login to GHCR - name: Login to GHCR
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}

37
.github/workflows/renovate.yaml vendored Normal file
View file

@ -0,0 +1,37 @@
name: Renovate
on:
# The "*" (#42, asterisk) character has special semantics in YAML, so this
# string has to be quoted.
schedule:
- cron: '0 * * * *'
# Manual trigger is also possible
workflow_dispatch: {}
permissions:
contents: read
jobs:
renovate:
if: github.repository == 'argoproj/argo-helm'
runs-on: ubuntu-latest
steps:
- name: Get token
uses: actions/create-github-app-token@a0de6af83968303c8c955486bf9739a57d23c7f1 # v1.10.0
id: get_token
with:
app-id: ${{ vars.RENOVATE_APP_ID }}
private-key: ${{ secrets.RENOVATE_APP_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: Self-hosted Renovate
uses: renovatebot/github-action@063e0c946b9c1af35ef3450efc44114925d6e8e6 # v40.1.11
with:
configurationFile: .github/configs/renovate-config.js
# renovate: datasource=docker depName=ghcr.io/renovatebot/renovate
renovate-version: 37.332.0
token: '${{ steps.get_token.outputs.token }}'
env:
LOG_LEVEL: 'debug'
RENOVATE_REPOSITORIES: '${{ github.repository }}'

View file

@ -33,7 +33,7 @@ jobs:
steps: steps:
- name: "Checkout code" - name: "Checkout code"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with: with:
persist-credentials: false persist-credentials: false
@ -60,7 +60,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab. # format to the repository Actions tab.
- name: "Upload artifact" - name: "Upload artifact"
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with: with:
name: SARIF file name: SARIF file
path: results.sarif path: results.sarif

View file

@ -1,6 +1,6 @@
dependencies: dependencies:
- name: redis-ha - name: redis-ha
repository: https://dandydeveloper.github.io/charts/ repository: https://dandydeveloper.github.io/charts/
version: 4.23.0 version: 4.26.1
digest: sha256:589f9972fbdf36194d443c9d3be2a1747f43e03c435fc48004cc0cbe6b3c6e3c digest: sha256:d72c308ab0eef4233e25bfc3f8fc97cf9b02a9c5d0186ea89e2f8fb332cb9c41
generated: "2023-05-15T19:25:26.049618+09:00" generated: "2024-02-18T19:42:53.135599+02:00"

View file

@ -1,9 +1,9 @@
apiVersion: v2 apiVersion: v2
appVersion: v2.10.0 appVersion: v2.11.0
kubeVersion: ">=1.23.0-0" kubeVersion: ">=1.23.0-0"
description: A Helm chart for Argo CD, 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: 6.0.14 version: 6.8.2
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
sources: sources:
@ -18,7 +18,7 @@ maintainers:
url: https://argoproj.github.io/ url: https://argoproj.github.io/
dependencies: dependencies:
- name: redis-ha - name: redis-ha
version: 4.23.0 version: 4.26.1
repository: https://dandydeveloper.github.io/charts/ repository: https://dandydeveloper.github.io/charts/
condition: redis-ha.enabled condition: redis-ha.enabled
annotations: annotations:

View file

@ -74,14 +74,15 @@ below corespond to their respective sections.
The `tls: true` option will expect that the `argocd-server-tls` secret exists as Argo CD server loads TLS certificates from this place. The `tls: true` option will expect that the `argocd-server-tls` secret exists as Argo CD server loads TLS certificates from this place.
```yaml ```yaml
global:
domain: argocd.example.com
certificate: certificate:
enabled: true enabled: true
domain: argocd.example.com
server: server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
ingressClassName: nginx ingressClassName: nginx
annotations: annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
@ -92,6 +93,9 @@ server:
### SSL Termination at Ingress Controller ### SSL Termination at Ingress Controller
```yaml ```yaml
global:
domain: argocd.example.com
configs: configs:
params: params:
server.insecure: true server.insecure: true
@ -99,7 +103,6 @@ configs:
server: server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
ingressClassName: nginx ingressClassName: nginx
annotations: annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
@ -119,6 +122,9 @@ server:
Use `ingressGrpc` section if your ingress controller supports only a single protocol per Ingress resource (i.e.: Contour). Use `ingressGrpc` section if your ingress controller supports only a single protocol per Ingress resource (i.e.: Contour).
```yaml ```yaml
global:
domain: argocd.example.com
configs: configs:
params: params:
server.insecure: true server.insecure: true
@ -126,7 +132,6 @@ configs:
server: server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
ingressClassName: contour-internal ingressClassName: contour-internal
extraTls: extraTls:
- hosts: - hosts:
@ -135,7 +140,6 @@ server:
ingressGrpc: ingressGrpc:
enabled: true enabled: true
hostname: grpc.argocd.example.com
ingressClassName: contour-internal ingressClassName: contour-internal
extraTls: extraTls:
- hosts: - hosts:
@ -146,10 +150,12 @@ server:
### Multiple ingress domains ### Multiple ingress domains
```yaml ```yaml
global:
domain: argocd.example.com
server: server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
ingressClassName: nginx ingressClassName: nginx
annotations: annotations:
cert-manager.io/cluster-issuer: "<my-issuer>" cert-manager.io/cluster-issuer: "<my-issuer>"
@ -169,6 +175,9 @@ The provided example assumes you are using TLS off-loading via AWS ACM service.
> Using `controller: aws` creates additional service for gRPC traffic and it's no longer need to use `ingressGrpc` configuration section. > Using `controller: aws` creates additional service for gRPC traffic and it's no longer need to use `ingressGrpc` configuration section.
```yaml ```yaml
global:
domain: argocd.example.com
configs: configs:
params: params:
server.insecure: true server.insecure: true
@ -176,7 +185,6 @@ configs:
server: server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
controller: aws controller: aws
ingressClassName: alb ingressClassName: alb
annotations: annotations:
@ -184,7 +192,7 @@ server:
alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/backend-protocol: HTTP alb.ingress.kubernetes.io/backend-protocol: HTTP
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":80}, {"HTTPS":443}]' alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/ssl-redirect" '443' alb.ingress.kubernetes.io/ssl-redirect: '443'
aws: aws:
serviceType: ClusterIP # <- Used with target-type: ip serviceType: ClusterIP # <- Used with target-type: ip
backendProtocolVersion: GRPC backendProtocolVersion: GRPC
@ -196,6 +204,9 @@ The implementation will populate `ingressClassName`, `networking.gke.io/managed-
automatically if you provide configuration for GKE resources. automatically if you provide configuration for GKE resources.
```yaml ```yaml
global:
domain: argocd.example.com
configs: configs:
params: params:
server.insecure: true server.insecure: true
@ -208,7 +219,6 @@ server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
controller: gke controller: gke
gke: gke:
backendConfig: backendConfig:
@ -268,6 +278,19 @@ For full list of changes please check ArtifactHub [changelog].
Highlighted versions provide information about additional steps that should be performed by user when upgrading to newer version. Highlighted versions provide information about additional steps that should be performed by user when upgrading to newer version.
### 6.4.0
Added support for application controller dynamic cluster distribution.
Please refer to [the docs](https://argo-cd.readthedocs.io/en/stable/operator-manual/dynamic-cluster-distribution) for more information.
Added env variables to handle the non-standard names generated by the helm chart.
Here are the [docs](https://argo-cd.readthedocs.io/en/release-2.9/user-guide/environment-variables/)
and [code](https://github.com/argoproj/argo-cd/blob/99723143b96ceec9ef5b0a7feb7b4f4b0dce3497/common/common.go#L252)
### 6.1.0
Added support for global domain used by all components.
### 6.0.0 ### 6.0.0
This version **removes support for**: This version **removes support for**:
@ -610,6 +633,7 @@ NAME: my-release
| global.certificateAnnotations | object | `{}` | Annotations for the all deployed Certificates | | global.certificateAnnotations | object | `{}` | Annotations for the all deployed Certificates |
| global.deploymentAnnotations | object | `{}` | Annotations for the all deployed Deployments | | global.deploymentAnnotations | object | `{}` | Annotations for the all deployed Deployments |
| global.deploymentStrategy | object | `{}` | Deployment strategy for the all deployed Deployments | | global.deploymentStrategy | object | `{}` | Deployment strategy for the all deployed Deployments |
| global.domain | string | `"argocd.example.com"` | Default domain used by all components |
| global.env | list | `[]` | Environment variables to pass to all deployed Deployments | | global.env | list | `[]` | Environment variables to pass to all deployed Deployments |
| 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 Argo CD deployments | | global.image.imagePullPolicy | string | `"IfNotPresent"` | If defined, a imagePullPolicy applied to all Argo CD deployments |
@ -639,11 +663,11 @@ NAME: my-release
| configs.cm."application.instanceLabelKey" | string | `"argocd.argoproj.io/instance"` | The name of tracking label used by Argo CD for resource pruning | | configs.cm."application.instanceLabelKey" | string | `"argocd.argoproj.io/instance"` | The name of tracking label used by Argo CD for resource pruning |
| configs.cm."exec.enabled" | bool | `false` | Enable exec feature in Argo UI | | configs.cm."exec.enabled" | bool | `false` | Enable exec feature in Argo UI |
| configs.cm."server.rbac.log.enforce.enable" | bool | `false` | Enable logs RBAC enforcement | | configs.cm."server.rbac.log.enforce.enable" | bool | `false` | Enable logs RBAC enforcement |
| configs.cm."statusbadge.enabled" | bool | `false` | Enable Status Badge |
| configs.cm."timeout.hard.reconciliation" | string | `"0s"` | Timeout to refresh application data as well as target manifests cache | | configs.cm."timeout.hard.reconciliation" | string | `"0s"` | Timeout to refresh application data as well as target manifests cache |
| configs.cm."timeout.reconciliation" | string | `"180s"` | Timeout to discover if a new manifests version got published to the repository | | configs.cm."timeout.reconciliation" | string | `"180s"` | Timeout to discover if a new manifests version got published to the repository |
| configs.cm.annotations | object | `{}` | Annotations to be added to argocd-cm configmap | | configs.cm.annotations | object | `{}` | Annotations to be added to argocd-cm configmap |
| configs.cm.create | bool | `true` | Create the argocd-cm configmap for [declarative setup] | | configs.cm.create | bool | `true` | Create the argocd-cm configmap for [declarative setup] |
| configs.cm.url | string | `""` | Argo CD's externally facing base URL (optional). Required when configuring SSO |
| configs.cmp.annotations | object | `{}` | Annotations to be added to argocd-cmp-cm configmap | | configs.cmp.annotations | object | `{}` | Annotations to be added to argocd-cmp-cm configmap |
| configs.cmp.create | bool | `false` | Create the argocd-cmp-cm configmap | | configs.cmp.create | bool | `false` | Create the argocd-cmp-cm configmap |
| configs.cmp.plugins | object | `{}` | Plugin yaml files to be added to argocd-cmp-cm | | configs.cmp.plugins | object | `{}` | Plugin yaml files to be added to argocd-cmp-cm |
@ -654,6 +678,7 @@ NAME: my-release
| configs.params."application.namespaces" | string | `""` | Enables [Applications in any namespace] | | configs.params."application.namespaces" | string | `""` | Enables [Applications in any namespace] |
| configs.params."applicationsetcontroller.enable.progressive.syncs" | bool | `false` | Enables use of the Progressive Syncs capability | | configs.params."applicationsetcontroller.enable.progressive.syncs" | bool | `false` | Enables use of the Progressive Syncs capability |
| configs.params."applicationsetcontroller.policy" | string | `"sync"` | Modify how application is synced between the generator and the cluster. One of: `sync`, `create-only`, `create-update`, `create-delete` | | configs.params."applicationsetcontroller.policy" | string | `"sync"` | Modify how application is synced between the generator and the cluster. One of: `sync`, `create-only`, `create-update`, `create-delete` |
| configs.params."controller.ignore.normalizer.jq.timeout" | string | `"1s"` | JQ Path expression timeout |
| configs.params."controller.operation.processors" | int | `10` | Number of application operation processors | | configs.params."controller.operation.processors" | int | `10` | Number of application operation processors |
| configs.params."controller.repo.server.timeout.seconds" | int | `60` | Repo server RPC call timeout seconds. | | configs.params."controller.repo.server.timeout.seconds" | int | `60` | Repo server RPC call timeout seconds. |
| configs.params."controller.self.heal.timeout.seconds" | int | `5` | Specifies timeout between application self heal attempts | | configs.params."controller.self.heal.timeout.seconds" | int | `5` | Specifies timeout between application self heal attempts |
@ -702,16 +727,21 @@ NAME: my-release
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| controller.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment | | controller.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment |
| controller.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account into the pod. |
| controller.clusterRoleRules.enabled | bool | `false` | Enable custom rules for the application controller's ClusterRole resource | | controller.clusterRoleRules.enabled | bool | `false` | Enable 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.clusterRoleRules.rules | list | `[]` | List of custom rules for the application controller's ClusterRole resource |
| controller.containerPorts.metrics | int | `8082` | Metrics container port | | controller.containerPorts.metrics | int | `8082` | Metrics container port |
| controller.containerSecurityContext | object | See [values.yaml] | Application controller container-level security context | | controller.containerSecurityContext | object | See [values.yaml] | Application controller container-level security context |
| controller.deploymentAnnotations | object | `{}` | Annotations for the application controller Deployment |
| controller.dnsConfig | object | `{}` | [DNS configuration] | | controller.dnsConfig | object | `{}` | [DNS configuration] |
| controller.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for application controller pods | | controller.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for application controller pods |
| controller.dynamicClusterDistribution | bool | `false` | Enable dynamic cluster distribution (alpha) Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/dynamic-cluster-distribution |
| controller.emptyDir.sizeLimit | string | `""` (defaults not set if not specified i.e. no size limit) | EmptyDir size limit for application controller |
| 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 |
| controller.extraContainers | list | `[]` | Additional containers to be added to the application controller pod | | controller.extraContainers | list | `[]` | Additional containers to be added to the application controller pod |
| controller.heartbeatTime | int | `10` | Application controller heartbeat time Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/dynamic-cluster-distribution/#working-of-dynamic-distribution |
| controller.hostNetwork | bool | `false` | Host Network for application controller pods | | controller.hostNetwork | bool | `false` | Host Network for application controller pods |
| controller.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the application controller | | controller.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the application controller |
| controller.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the application controller | | controller.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the application controller |
@ -779,6 +809,7 @@ NAME: my-release
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| repoServer.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment | | repoServer.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment |
| repoServer.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account into the pod. |
| repoServer.autoscaling.behavior | object | `{}` | Configures the scaling behavior of the target in both Up and Down directions. | | repoServer.autoscaling.behavior | object | `{}` | Configures the scaling behavior of the target in both Up and Down directions. |
| repoServer.autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for the repo server | | repoServer.autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for the repo server |
| repoServer.autoscaling.maxReplicas | int | `5` | Maximum number of replicas for the repo server [HPA] | | repoServer.autoscaling.maxReplicas | int | `5` | Maximum number of replicas for the repo server [HPA] |
@ -801,6 +832,7 @@ NAME: my-release
| repoServer.deploymentStrategy | object | `{}` | Deployment strategy to be added to the repo server Deployment | | repoServer.deploymentStrategy | object | `{}` | Deployment strategy to be added to the repo server Deployment |
| repoServer.dnsConfig | object | `{}` | [DNS configuration] | | repoServer.dnsConfig | object | `{}` | [DNS configuration] |
| repoServer.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Repo server pods | | repoServer.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Repo server pods |
| repoServer.emptyDir.sizeLimit | string | `""` (defaults not set if not specified i.e. no size limit) | EmptyDir size limit for repo server |
| repoServer.env | list | `[]` | Environment variables to pass to repo server | | repoServer.env | list | `[]` | Environment variables to pass to repo server |
| repoServer.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to repo server | | repoServer.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to repo server |
| repoServer.existingVolumes | object | `{}` | Volumes to be used in replacement of emptydir on default volumes | | repoServer.existingVolumes | object | `{}` | Volumes to be used in replacement of emptydir on default volumes |
@ -875,6 +907,7 @@ NAME: my-release
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| server.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment | | server.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment |
| server.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account into the pod. |
| server.autoscaling.behavior | object | `{}` | Configures the scaling behavior of the target in both Up and Down directions. | | server.autoscaling.behavior | object | `{}` | Configures the scaling behavior of the target in both Up and Down directions. |
| server.autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for the Argo CD server | | server.autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for the Argo CD server |
| server.autoscaling.maxReplicas | int | `5` | Maximum number of replicas for the Argo CD server [HPA] | | server.autoscaling.maxReplicas | int | `5` | Maximum number of replicas for the Argo CD server [HPA] |
@ -884,7 +917,7 @@ NAME: my-release
| server.autoscaling.targetMemoryUtilizationPercentage | int | `50` | Average memory utilization percentage for the Argo CD server [HPA] | | server.autoscaling.targetMemoryUtilizationPercentage | int | `50` | Average memory utilization percentage for the Argo CD server [HPA] |
| server.certificate.additionalHosts | list | `[]` | Certificate Subject Alternate Names (SANs) | | server.certificate.additionalHosts | list | `[]` | Certificate Subject Alternate Names (SANs) |
| server.certificate.annotations | object | `{}` | Annotations to be applied to the Server Certificate | | server.certificate.annotations | object | `{}` | Annotations to be applied to the Server Certificate |
| server.certificate.domain | string | `"argocd.example.com"` | Certificate primary domain (commonName) | | server.certificate.domain | string | `""` (defaults to global.domain) | Certificate primary domain (commonName) |
| server.certificate.duration | string | `""` (defaults to 2160h = 90d if not specified) | The requested 'duration' (i.e. lifetime) of the certificate. | | server.certificate.duration | string | `""` (defaults to 2160h = 90d if not specified) | The requested 'duration' (i.e. lifetime) of the certificate. |
| server.certificate.enabled | bool | `false` | Deploy a Certificate resource (requires cert-manager) | | server.certificate.enabled | bool | `false` | Deploy a Certificate resource (requires cert-manager) |
| server.certificate.issuer.group | string | `""` | Certificate issuer group. Set if using an external issuer. Eg. `cert-manager.io` | | server.certificate.issuer.group | string | `""` | Certificate issuer group. Set if using an external issuer. Eg. `cert-manager.io` |
@ -902,6 +935,8 @@ NAME: my-release
| server.certificateSecret.enabled | bool | `false` | Create argocd-server-tls secret | | server.certificateSecret.enabled | bool | `false` | Create argocd-server-tls secret |
| server.certificateSecret.key | string | `""` | Private Key of the certificate | | server.certificateSecret.key | string | `""` | Private Key of the certificate |
| server.certificateSecret.labels | object | `{}` | Labels to be added to argocd-server-tls secret | | server.certificateSecret.labels | object | `{}` | Labels to be added to argocd-server-tls secret |
| server.clusterRoleRules.enabled | bool | `false` | Enable custom rules for the server's ClusterRole resource |
| server.clusterRoleRules.rules | list | `[]` | List of custom rules for the server's ClusterRole resource |
| server.containerPorts.metrics | int | `8083` | Metrics container port | | server.containerPorts.metrics | int | `8083` | Metrics container port |
| server.containerPorts.server | int | `8080` | Server container port | | server.containerPorts.server | int | `8080` | Server container port |
| server.containerSecurityContext | object | See [values.yaml] | Server container-level security context | | server.containerSecurityContext | object | See [values.yaml] | Server container-level security context |
@ -909,6 +944,7 @@ NAME: my-release
| server.deploymentStrategy | object | `{}` | Deployment strategy to be added to the server Deployment | | server.deploymentStrategy | object | `{}` | Deployment strategy to be added to the server Deployment |
| server.dnsConfig | object | `{}` | [DNS configuration] | | server.dnsConfig | object | `{}` | [DNS configuration] |
| server.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Server pods | | server.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Server pods |
| server.emptyDir.sizeLimit | string | `""` (defaults not set if not specified i.e. no size limit) | EmptyDir size limit for the Argo CD server |
| server.env | list | `[]` | Environment variables to pass to Argo CD server | | server.env | list | `[]` | Environment variables to pass to Argo CD server |
| server.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to Argo CD server | | server.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to Argo CD server |
| server.extensions.containerSecurityContext | object | See [values.yaml] | Server UI extensions container-level security context | | server.extensions.containerSecurityContext | object | See [values.yaml] | Server UI extensions container-level security context |
@ -916,7 +952,7 @@ NAME: my-release
| server.extensions.extensionList | list | `[]` (See [values.yaml]) | Extensions for Argo CD | | server.extensions.extensionList | list | `[]` (See [values.yaml]) | Extensions for Argo CD |
| server.extensions.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for extensions | | server.extensions.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for extensions |
| server.extensions.image.repository | string | `"quay.io/argoprojlabs/argocd-extension-installer"` | Repository to use for extension installer image | | server.extensions.image.repository | string | `"quay.io/argoprojlabs/argocd-extension-installer"` | Repository to use for extension installer image |
| server.extensions.image.tag | string | `"v0.0.1"` | Tag to use for extension installer image | | server.extensions.image.tag | string | `"v0.0.5"` | Tag to use for extension installer image |
| server.extensions.resources | object | `{}` | Resource limits and requests for the argocd-extensions container | | server.extensions.resources | object | `{}` | Resource limits and requests for the argocd-extensions container |
| server.extraArgs | list | `[]` | Additional command line arguments to pass to Argo CD server | | server.extraArgs | list | `[]` | Additional command line arguments to pass to Argo CD server |
| server.extraContainers | list | `[]` | Additional containers to be added to the server pod | | server.extraContainers | list | `[]` | Additional containers to be added to the server pod |
@ -926,7 +962,7 @@ NAME: my-release
| server.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the Argo CD server | | server.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the Argo CD server |
| server.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry | | server.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry |
| server.ingress.annotations | object | `{}` | Additional ingress annotations | | server.ingress.annotations | object | `{}` | Additional ingress annotations |
| server.ingress.aws.backendProtocolVersion | string | `"HTTP2"` | Backend protocol version for the AWS ALB gRPC service | | server.ingress.aws.backendProtocolVersion | string | `"GRPC"` | Backend protocol version for the AWS ALB gRPC service |
| server.ingress.aws.serviceType | string | `"NodePort"` | Service type for the AWS ALB gRPC service | | server.ingress.aws.serviceType | string | `"NodePort"` | Service type for the AWS ALB gRPC service |
| server.ingress.controller | string | `"generic"` | Specific implementation for ingress controller. One of `generic`, `aws` or `gke` | | server.ingress.controller | string | `"generic"` | Specific implementation for ingress controller. One of `generic`, `aws` or `gke` |
| server.ingress.enabled | bool | `false` | Enable an ingress resource for the Argo CD server | | server.ingress.enabled | bool | `false` | Enable an ingress resource for the Argo CD server |
@ -938,7 +974,7 @@ NAME: my-release
| server.ingress.gke.frontendConfig | object | `{}` (See [values.yaml]) | Google [FrontendConfig] resource, for use with the GKE Ingress Controller | | server.ingress.gke.frontendConfig | object | `{}` (See [values.yaml]) | Google [FrontendConfig] resource, for use with the GKE Ingress Controller |
| server.ingress.gke.managedCertificate.create | bool | `true` | Create ManagedCertificate resource and annotations for Google Load balancer | | server.ingress.gke.managedCertificate.create | bool | `true` | Create ManagedCertificate resource and annotations for Google Load balancer |
| server.ingress.gke.managedCertificate.extraDomains | list | `[]` | Additional domains for ManagedCertificate resource | | server.ingress.gke.managedCertificate.extraDomains | list | `[]` | Additional domains for ManagedCertificate resource |
| server.ingress.hostname | string | `"argocd.example.com"` | Argo CD server hostname | | server.ingress.hostname | string | `""` (defaults to global.domain) | Argo CD server hostname |
| server.ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource | | server.ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource |
| server.ingress.labels | object | `{}` | Additional ingress labels | | server.ingress.labels | object | `{}` | Additional ingress labels |
| server.ingress.path | string | `"/"` | The path to Argo CD server | | server.ingress.path | string | `"/"` | The path to Argo CD server |
@ -1033,6 +1069,7 @@ NAME: my-release
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| dex.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment | | dex.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment |
| dex.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account into the pod. |
| dex.certificateSecret.annotations | object | `{}` | Annotations to be added to argocd-dex-server-tls secret | | dex.certificateSecret.annotations | object | `{}` | Annotations to be added to argocd-dex-server-tls secret |
| dex.certificateSecret.ca | string | `""` | Certificate authority. Required for self-signed certificates. | | dex.certificateSecret.ca | string | `""` | Certificate authority. Required for self-signed certificates. |
| dex.certificateSecret.crt | string | `""` | Certificate data. Must contain SANs of Dex service (ie: argocd-dex-server, argocd-dex-server.argo-cd.svc) | | dex.certificateSecret.crt | string | `""` | Certificate data. Must contain SANs of Dex service (ie: argocd-dex-server, argocd-dex-server.argo-cd.svc) |
@ -1047,6 +1084,7 @@ NAME: my-release
| dex.deploymentStrategy | object | `{}` | Deployment strategy to be added to the Dex server Deployment | | dex.deploymentStrategy | object | `{}` | Deployment strategy to be added to the Dex server Deployment |
| dex.dnsConfig | object | `{}` | [DNS configuration] | | dex.dnsConfig | object | `{}` | [DNS configuration] |
| dex.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Dex server pods | | dex.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Dex server pods |
| dex.emptyDir.sizeLimit | string | `""` (defaults not set if not specified i.e. no size limit) | EmptyDir size limit for Dex server |
| dex.enabled | bool | `true` | Enable dex | | dex.enabled | bool | `true` | Enable dex |
| dex.env | list | `[]` | Environment variables to pass to the Dex server | | dex.env | list | `[]` | Environment variables to pass to the Dex server |
| dex.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the Dex server | | dex.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the Dex server |
@ -1063,6 +1101,9 @@ NAME: my-release
| dex.initImage.tag | string | `""` (defaults to global.image.tag) | Argo CD init image tag | | dex.initImage.tag | string | `""` (defaults to global.image.tag) | Argo CD init image tag |
| dex.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for Dex >= 2.28.0 | | dex.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for Dex >= 2.28.0 |
| dex.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | | dex.livenessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
| dex.livenessProbe.httpPath | string | `"/healthz/live"` | Http path to use for the liveness probe |
| dex.livenessProbe.httpPort | string | `"metrics"` | Http port to use for the liveness probe |
| dex.livenessProbe.httpScheme | string | `"HTTP"` | Scheme to use for for the liveness probe (can be HTTP or HTTPS) |
| dex.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | | dex.livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
| dex.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | | dex.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
| dex.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | | dex.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
@ -1095,6 +1136,9 @@ NAME: my-release
| dex.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for the dex pods | | dex.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for the dex pods |
| dex.readinessProbe.enabled | bool | `false` | Enable Kubernetes readiness probe for Dex >= 2.28.0 | | dex.readinessProbe.enabled | bool | `false` | Enable Kubernetes readiness probe for Dex >= 2.28.0 |
| dex.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | | dex.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
| dex.readinessProbe.httpPath | string | `"/healthz/ready"` | Http path to use for the readiness probe |
| dex.readinessProbe.httpPort | string | `"metrics"` | Http port to use for the readiness probe |
| dex.readinessProbe.httpScheme | string | `"HTTP"` | Scheme to use for for the liveness probe (can be HTTP or HTTPS) |
| dex.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated | | dex.readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before [probe] is initiated |
| dex.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | | dex.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] |
| dex.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | | dex.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed |
@ -1122,6 +1166,7 @@ NAME: my-release
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| redis.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment | | redis.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules to the deployment |
| redis.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account into the pod. |
| redis.containerPorts.metrics | int | `9121` | Metrics container port | | redis.containerPorts.metrics | int | `9121` | Metrics container port |
| redis.containerPorts.redis | int | `6379` | Redis container port | | redis.containerPorts.redis | int | `6379` | Redis container port |
| redis.containerSecurityContext | object | See [values.yaml] | Redis container-level security context | | redis.containerSecurityContext | object | See [values.yaml] | Redis container-level security context |
@ -1136,7 +1181,7 @@ NAME: my-release
| redis.exporter.env | list | `[]` | Environment variables to pass to the Redis exporter | | redis.exporter.env | list | `[]` | Environment variables to pass to the Redis exporter |
| redis.exporter.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the redis-exporter | | redis.exporter.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the redis-exporter |
| redis.exporter.image.repository | string | `"public.ecr.aws/bitnami/redis-exporter"` | Repository to use for the redis-exporter | | redis.exporter.image.repository | string | `"public.ecr.aws/bitnami/redis-exporter"` | Repository to use for the redis-exporter |
| redis.exporter.image.tag | string | `"1.57.0"` | Tag to use for the redis-exporter | | redis.exporter.image.tag | string | `"1.58.0"` | Tag to use for the redis-exporter |
| redis.exporter.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for Redis exporter | | redis.exporter.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for Redis exporter |
| redis.exporter.livenessProbe.failureThreshold | int | `5` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | | redis.exporter.livenessProbe.failureThreshold | int | `5` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded |
| redis.exporter.livenessProbe.initialDelaySeconds | int | `30` | Number of seconds after the container has started before [probe] is initiated | | redis.exporter.livenessProbe.initialDelaySeconds | int | `30` | Number of seconds after the container has started before [probe] is initiated |
@ -1154,7 +1199,7 @@ NAME: my-release
| redis.extraContainers | list | `[]` | Additional containers to be added to the redis pod | | redis.extraContainers | list | `[]` | Additional containers to be added to the redis pod |
| redis.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Redis image pull policy | | redis.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Redis image pull policy |
| redis.image.repository | string | `"public.ecr.aws/docker/library/redis"` | Redis repository | | redis.image.repository | string | `"public.ecr.aws/docker/library/redis"` | Redis repository |
| redis.image.tag | string | `"7.0.15-alpine"` | Redis tag | | redis.image.tag | string | `"7.2.4-alpine"` | Redis tag |
| redis.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry | | redis.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry |
| redis.initContainers | list | `[]` | Init containers to add to the redis pod | | redis.initContainers | list | `[]` | Init containers to add to the redis pod |
| redis.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for Redis server | | redis.livenessProbe.enabled | bool | `false` | Enable Kubernetes liveness probe for Redis server |
@ -1225,17 +1270,18 @@ The main options are listed here:
| redis-ha.enabled | bool | `false` | Enables the Redis HA subchart and disables the custom Redis single node deployment | | redis-ha.enabled | bool | `false` | Enables the Redis HA subchart and disables the custom Redis single node deployment |
| redis-ha.exporter.enabled | bool | `false` | Enable Prometheus redis-exporter sidecar | | redis-ha.exporter.enabled | bool | `false` | Enable Prometheus redis-exporter sidecar |
| redis-ha.exporter.image | string | `"public.ecr.aws/bitnami/redis-exporter"` | Repository to use for the redis-exporter | | redis-ha.exporter.image | string | `"public.ecr.aws/bitnami/redis-exporter"` | Repository to use for the redis-exporter |
| redis-ha.exporter.tag | string | `"1.57.0"` | Tag to use for the redis-exporter | | redis-ha.exporter.tag | string | `"1.58.0"` | Tag to use for the redis-exporter |
| redis-ha.haproxy.additionalAffinities | object | `{}` | Additional affinities to add to the haproxy pods. | | redis-ha.haproxy.additionalAffinities | object | `{}` | Additional affinities to add to the haproxy pods. |
| redis-ha.haproxy.affinity | string | `""` | Assign custom [affinity] rules to the haproxy pods. | | redis-ha.haproxy.affinity | string | `""` | Assign custom [affinity] rules to the haproxy pods. |
| redis-ha.haproxy.containerSecurityContext | object | See [values.yaml] | HAProxy container-level security context | | redis-ha.haproxy.containerSecurityContext | object | See [values.yaml] | HAProxy container-level security context |
| redis-ha.haproxy.enabled | bool | `true` | Enabled HAProxy LoadBalancing/Proxy | | redis-ha.haproxy.enabled | bool | `true` | Enabled HAProxy LoadBalancing/Proxy |
| redis-ha.haproxy.hardAntiAffinity | bool | `true` | Whether the haproxy pods should be forced to run on separate nodes. | | redis-ha.haproxy.hardAntiAffinity | bool | `true` | Whether the haproxy pods should be forced to run on separate nodes. |
| redis-ha.haproxy.labels | object | `{"app.kubernetes.io/name":"argocd-redis-ha-haproxy"}` | Custom labels for the haproxy pod. This is relevant for Argo CD CLI. |
| redis-ha.haproxy.metrics.enabled | bool | `true` | HAProxy enable prometheus metric scraping | | redis-ha.haproxy.metrics.enabled | bool | `true` | HAProxy enable prometheus metric scraping |
| redis-ha.haproxy.tolerations | list | `[]` | [Tolerations] for use with node taints for haproxy pods. | | redis-ha.haproxy.tolerations | list | `[]` | [Tolerations] for use with node taints for haproxy pods. |
| redis-ha.hardAntiAffinity | bool | `true` | Whether the Redis server pods should be forced to run on separate nodes. | | redis-ha.hardAntiAffinity | bool | `true` | Whether the Redis server pods should be forced to run on separate nodes. |
| redis-ha.image.repository | string | `"public.ecr.aws/docker/library/redis"` | Redis repository | | redis-ha.image.repository | string | `"public.ecr.aws/docker/library/redis"` | Redis repository |
| redis-ha.image.tag | string | `"7.0.15-alpine"` | Redis tag | | redis-ha.image.tag | string | `"7.2.4-alpine"` | Redis tag |
| redis-ha.persistentVolume.enabled | bool | `false` | Configures persistence on Redis nodes | | redis-ha.persistentVolume.enabled | bool | `false` | Configures persistence on Redis nodes |
| redis-ha.redis.config | object | See [values.yaml] | Any valid redis config options in this section will be applied to each server (see `redis-ha` chart) | | redis-ha.redis.config | object | See [values.yaml] | Any valid redis config options in this section will be applied to each server (see `redis-ha` chart) |
| 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 |
@ -1270,9 +1316,11 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| applicationSet.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules | | applicationSet.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules |
| applicationSet.allowAnyNamespace | bool | `false` | Enable ApplicationSet in any namespace feature |
| applicationSet.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account into the pod. |
| applicationSet.certificate.additionalHosts | list | `[]` | Certificate Subject Alternate Names (SANs) | | applicationSet.certificate.additionalHosts | list | `[]` | Certificate Subject Alternate Names (SANs) |
| applicationSet.certificate.annotations | object | `{}` | Annotations to be applied to the ApplicationSet Certificate | | applicationSet.certificate.annotations | object | `{}` | Annotations to be applied to the ApplicationSet Certificate |
| applicationSet.certificate.domain | string | `"argocd.example.com"` | Certificate primary domain (commonName) | | applicationSet.certificate.domain | string | `""` (defaults to global.domain) | Certificate primary domain (commonName) |
| applicationSet.certificate.duration | string | `""` (defaults to 2160h = 90d if not specified) | The requested 'duration' (i.e. lifetime) of the certificate. | | applicationSet.certificate.duration | string | `""` (defaults to 2160h = 90d if not specified) | The requested 'duration' (i.e. lifetime) of the certificate. |
| applicationSet.certificate.enabled | bool | `false` | Deploy a Certificate resource (requires cert-manager) | | applicationSet.certificate.enabled | bool | `false` | Deploy a Certificate resource (requires cert-manager) |
| applicationSet.certificate.issuer.group | string | `""` | Certificate issuer group. Set if using an external issuer. Eg. `cert-manager.io` | | applicationSet.certificate.issuer.group | string | `""` | Certificate issuer group. Set if using an external issuer. Eg. `cert-manager.io` |
@ -1292,6 +1340,7 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
| applicationSet.deploymentStrategy | object | `{}` | Deployment strategy to be added to the ApplicationSet controller Deployment | | applicationSet.deploymentStrategy | object | `{}` | Deployment strategy to be added to the ApplicationSet controller Deployment |
| applicationSet.dnsConfig | object | `{}` | [DNS configuration] | | applicationSet.dnsConfig | object | `{}` | [DNS configuration] |
| applicationSet.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for ApplicationSet controller pods | | applicationSet.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for ApplicationSet controller pods |
| applicationSet.emptyDir.sizeLimit | string | `""` (defaults not set if not specified i.e. no size limit) | EmptyDir size limit for applicationSet controller |
| applicationSet.enabled | bool | `true` | Enable ApplicationSet controller | | applicationSet.enabled | bool | `true` | Enable ApplicationSet controller |
| applicationSet.extraArgs | list | `[]` | ApplicationSet controller command line flags | | applicationSet.extraArgs | list | `[]` | ApplicationSet controller command line flags |
| applicationSet.extraContainers | list | `[]` | Additional containers to be added to the ApplicationSet controller pod | | applicationSet.extraContainers | list | `[]` | Additional containers to be added to the ApplicationSet controller pod |
@ -1309,7 +1358,7 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
| applicationSet.ingress.extraPaths | list | `[]` (See [values.yaml]) | Additional ingress paths | | applicationSet.ingress.extraPaths | list | `[]` (See [values.yaml]) | Additional ingress paths |
| applicationSet.ingress.extraRules | list | `[]` (See [values.yaml]) | Additional ingress rules | | applicationSet.ingress.extraRules | list | `[]` (See [values.yaml]) | Additional ingress rules |
| applicationSet.ingress.extraTls | list | `[]` (See [values.yaml]) | Additional ingress TLS configuration | | applicationSet.ingress.extraTls | list | `[]` (See [values.yaml]) | Additional ingress TLS configuration |
| applicationSet.ingress.hostname | string | `"argocd.example.com"` | Argo CD ApplicationSet hostname | | applicationSet.ingress.hostname | string | `""` (defaults to global.domain) | Argo CD ApplicationSet hostname |
| applicationSet.ingress.ingressClassName | string | `""` | Defines which ingress ApplicationSet controller will implement the resource | | applicationSet.ingress.ingressClassName | string | `""` | Defines which ingress ApplicationSet controller will implement the resource |
| applicationSet.ingress.labels | object | `{}` | Additional ingress labels | | applicationSet.ingress.labels | object | `{}` | Additional ingress labels |
| applicationSet.ingress.path | string | `"/api/webhook"` | List of ingress paths | | applicationSet.ingress.path | string | `"/api/webhook"` | List of ingress paths |
@ -1377,7 +1426,8 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| notifications.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules | | notifications.affinity | object | `{}` (defaults to global.affinity preset) | Assign custom [affinity] rules |
| notifications.argocdUrl | string | `nil` | Argo CD dashboard url; used in place of {{.context.argocdUrl}} in templates | | notifications.argocdUrl | string | `""` (defaults to https://`global.domain`) | Argo CD dashboard url; used in place of {{.context.argocdUrl}} in templates |
| notifications.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account into the pod. |
| notifications.clusterRoleRules.rules | list | `[]` | List of custom rules for the notifications controller's ClusterRole resource | | notifications.clusterRoleRules.rules | list | `[]` | List of custom rules for the notifications controller's ClusterRole resource |
| notifications.cm.create | bool | `true` | Whether helm chart creates notifications controller config map | | notifications.cm.create | bool | `true` | Whether helm chart creates notifications controller config map |
| notifications.containerPorts.metrics | int | `9001` | Metrics container port | | notifications.containerPorts.metrics | int | `9001` | Metrics container port |
@ -1432,6 +1482,7 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
| notifications.secret.create | bool | `true` | Whether helm chart creates notifications controller secret | | notifications.secret.create | bool | `true` | Whether helm chart creates notifications controller secret |
| notifications.secret.items | object | `{}` | Generic key:value pairs to be inserted into the secret | | notifications.secret.items | object | `{}` | Generic key:value pairs to be inserted into the secret |
| notifications.secret.labels | object | `{}` | key:value pairs of labels to be added to the secret | | notifications.secret.labels | object | `{}` | key:value pairs of labels to be added to the secret |
| notifications.secret.name | string | `"argocd-notifications-secret"` | notifications controller Secret name |
| notifications.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | | notifications.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
| notifications.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account | | notifications.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account |
| notifications.serviceAccount.create | bool | `true` | Create notifications controller service account | | notifications.serviceAccount.create | bool | `true` | Create notifications controller service account |

View file

@ -73,14 +73,15 @@ below corespond to their respective sections.
The `tls: true` option will expect that the `argocd-server-tls` secret exists as Argo CD server loads TLS certificates from this place. The `tls: true` option will expect that the `argocd-server-tls` secret exists as Argo CD server loads TLS certificates from this place.
```yaml ```yaml
global:
domain: argocd.example.com
certificate: certificate:
enabled: true enabled: true
domain: argocd.example.com
server: server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
ingressClassName: nginx ingressClassName: nginx
annotations: annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
@ -91,6 +92,9 @@ server:
### SSL Termination at Ingress Controller ### SSL Termination at Ingress Controller
```yaml ```yaml
global:
domain: argocd.example.com
configs: configs:
params: params:
server.insecure: true server.insecure: true
@ -98,7 +102,6 @@ configs:
server: server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
ingressClassName: nginx ingressClassName: nginx
annotations: annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: "true" nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
@ -118,6 +121,9 @@ server:
Use `ingressGrpc` section if your ingress controller supports only a single protocol per Ingress resource (i.e.: Contour). Use `ingressGrpc` section if your ingress controller supports only a single protocol per Ingress resource (i.e.: Contour).
```yaml ```yaml
global:
domain: argocd.example.com
configs: configs:
params: params:
server.insecure: true server.insecure: true
@ -125,7 +131,6 @@ configs:
server: server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
ingressClassName: contour-internal ingressClassName: contour-internal
extraTls: extraTls:
- hosts: - hosts:
@ -134,7 +139,6 @@ server:
ingressGrpc: ingressGrpc:
enabled: true enabled: true
hostname: grpc.argocd.example.com
ingressClassName: contour-internal ingressClassName: contour-internal
extraTls: extraTls:
- hosts: - hosts:
@ -145,10 +149,12 @@ server:
### Multiple ingress domains ### Multiple ingress domains
```yaml ```yaml
global:
domain: argocd.example.com
server: server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
ingressClassName: nginx ingressClassName: nginx
annotations: annotations:
cert-manager.io/cluster-issuer: "<my-issuer>" cert-manager.io/cluster-issuer: "<my-issuer>"
@ -168,6 +174,9 @@ The provided example assumes you are using TLS off-loading via AWS ACM service.
> Using `controller: aws` creates additional service for gRPC traffic and it's no longer need to use `ingressGrpc` configuration section. > Using `controller: aws` creates additional service for gRPC traffic and it's no longer need to use `ingressGrpc` configuration section.
```yaml ```yaml
global:
domain: argocd.example.com
configs: configs:
params: params:
server.insecure: true server.insecure: true
@ -175,7 +184,6 @@ configs:
server: server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
controller: aws controller: aws
ingressClassName: alb ingressClassName: alb
annotations: annotations:
@ -183,7 +191,7 @@ server:
alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/backend-protocol: HTTP alb.ingress.kubernetes.io/backend-protocol: HTTP
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":80}, {"HTTPS":443}]' alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/ssl-redirect" '443' alb.ingress.kubernetes.io/ssl-redirect: '443'
aws: aws:
serviceType: ClusterIP # <- Used with target-type: ip serviceType: ClusterIP # <- Used with target-type: ip
backendProtocolVersion: GRPC backendProtocolVersion: GRPC
@ -195,6 +203,9 @@ The implementation will populate `ingressClassName`, `networking.gke.io/managed-
automatically if you provide configuration for GKE resources. automatically if you provide configuration for GKE resources.
```yaml ```yaml
global:
domain: argocd.example.com
configs: configs:
params: params:
server.insecure: true server.insecure: true
@ -207,7 +218,6 @@ server:
ingress: ingress:
enabled: true enabled: true
hostname: argocd.example.com
controller: gke controller: gke
gke: gke:
backendConfig: backendConfig:
@ -268,6 +278,19 @@ For full list of changes please check ArtifactHub [changelog].
Highlighted versions provide information about additional steps that should be performed by user when upgrading to newer version. Highlighted versions provide information about additional steps that should be performed by user when upgrading to newer version.
### 6.4.0
Added support for application controller dynamic cluster distribution.
Please refer to [the docs](https://argo-cd.readthedocs.io/en/stable/operator-manual/dynamic-cluster-distribution) for more information.
Added env variables to handle the non-standard names generated by the helm chart.
Here are the [docs](https://argo-cd.readthedocs.io/en/release-2.9/user-guide/environment-variables/)
and [code](https://github.com/argoproj/argo-cd/blob/99723143b96ceec9ef5b0a7feb7b4f4b0dce3497/common/common.go#L252)
### 6.1.0
Added support for global domain used by all components.
### 6.0.0 ### 6.0.0
This version **removes support for**: This version **removes support for**:

View file

@ -0,0 +1,6 @@
# Test application controller dynamic cluster distribution
crds:
keep: false
controller:
dynamicClusterDistribution: true

View file

@ -159,10 +159,14 @@ Create the name of the notifications service account to use
{{- end -}} {{- end -}}
{{/* {{/*
Argo Configuration Preset Values (Incluenced by Values configuration) Argo Configuration Preset Values (Influenced by Values configuration)
*/}} */}}
{{- define "argo-cd.config.cm.presets" -}} {{- define "argo-cd.config.cm.presets" -}}
{{- $presets := dict -}} {{- $presets := dict -}}
{{- $_ := set $presets "url" (printf "https://%s" .Values.global.domain) -}}
{{- if index .Values.configs.cm "statusbadge.enabled" | eq true -}}
{{- $_ := set $presets "statusbadge.url" (printf "https://%s/" .Values.global.domain) -}}
{{- end -}}
{{- if .Values.configs.styles -}} {{- if .Values.configs.styles -}}
{{- $_ := set $presets "ui.cssurl" "./custom/custom.styles.css" -}} {{- $_ := set $presets "ui.cssurl" "./custom/custom.styles.css" -}}
{{- end -}} {{- end -}}

View file

@ -0,0 +1,370 @@
{{- if .Values.controller.dynamicClusterDistribution }}
apiVersion: apps/v1
kind: Deployment
metadata:
{{- with (mergeOverwrite (deepCopy .Values.global.deploymentAnnotations) .Values.controller.deploymentAnnotations) }}
annotations:
{{- range $key, $value := . }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
name: {{ template "argo-cd.controller.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
labels:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
spec:
replicas: {{ .Values.controller.replicas }}
revisionHistoryLimit: {{ .Values.controller.revisionHistoryLimit | default .Values.global.revisionHistoryLimit }}
selector:
matchLabels:
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.controller.name) | nindent 6 }}
template:
metadata:
annotations:
checksum/cmd-params: {{ include (print $.Template.BasePath "/argocd-configs/argocd-cmd-params-cm.yaml") . | sha256sum }}
{{- if .Values.configs.cm.create }}
checksum/cm: {{ include (print $.Template.BasePath "/argocd-configs/argocd-cm.yaml") . | sha256sum }}
{{- end }}
{{- with (mergeOverwrite (deepCopy .Values.global.podAnnotations) .Values.controller.podAnnotations) }}
{{- range $key, $value := . }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
labels:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 8 }}
{{- with (mergeOverwrite (deepCopy .Values.global.podLabels) .Values.controller.podLabels) }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.controller.imagePullSecrets | default .Values.global.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.global.hostAliases }}
hostAliases:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.global.securityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.controller.priorityClassName | default .Values.global.priorityClassName }}
priorityClassName: {{ . }}
{{- end }}
{{- if .Values.controller.terminationGracePeriodSeconds }}
terminationGracePeriodSeconds: {{ .Values.controller.terminationGracePeriodSeconds }}
{{- end }}
serviceAccountName: {{ include "argo-cd.controller.serviceAccountName" . }}
automountServiceAccountToken: {{ .Values.controller.automountServiceAccountToken }}
containers:
- args:
- /usr/local/bin/argocd-application-controller
- --metrics-port={{ .Values.controller.containerPorts.metrics }}
{{- if .Values.controller.metrics.applicationLabels.enabled }}
{{- range .Values.controller.metrics.applicationLabels.labels }}
- --metrics-application-labels
- {{ . }}
{{- end }}
{{- end }}
{{- with .Values.controller.extraArgs }}
{{- toYaml . | nindent 8 }}
{{- end }}
image: {{ default .Values.global.image.repository .Values.controller.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.controller.image.tag }}
imagePullPolicy: {{ default .Values.global.image.imagePullPolicy .Values.controller.image.imagePullPolicy }}
name: {{ .Values.controller.name }}
env:
{{- with (concat .Values.global.env .Values.controller.env) }}
{{- toYaml . | nindent 10 }}
{{- end }}
- name: ARGOCD_ENABLE_DYNAMIC_CLUSTER_DISTRIBUTION
value: "true"
- name: ARGOCD_CONTROLLER_HEARTBEAT_TIME
value: {{ .Values.controller.heartbeatTime | quote }}
- name: ARGOCD_APPLICATION_CONTROLLER_NAME
value: {{ template "argo-cd.controller.fullname" . }}
- name: ARGOCD_RECONCILIATION_TIMEOUT
valueFrom:
configMapKeyRef:
name: argocd-cm
key: timeout.reconciliation
optional: true
- name: ARGOCD_HARD_RECONCILIATION_TIMEOUT
valueFrom:
configMapKeyRef:
name: argocd-cm
key: timeout.hard.reconciliation
optional: true
- name: ARGOCD_RECONCILIATION_JITTER
valueFrom:
configMapKeyRef:
key: timeout.reconciliation.jitter
name: argocd-cm
optional: true
- name: ARGOCD_REPO_ERROR_GRACE_PERIOD_SECONDS
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.repo.error.grace.period.seconds
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: repo.server
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.repo.server.timeout.seconds
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.status.processors
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.operation.processors
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.log.format
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.log.level
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_METRICS_CACHE_EXPIRATION
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.metrics.cache.expiration
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_TIMEOUT_SECONDS
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.self.heal.timeout.seconds
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.repo.server.plaintext
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_STRICT_TLS
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.repo.server.strict.tls
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_PERSIST_RESOURCE_HEALTH
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.resource.health.persist
optional: true
- name: ARGOCD_APP_STATE_CACHE_EXPIRATION
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.app.state.cache.expiration
optional: true
- name: REDIS_SERVER
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: redis.server
optional: true
- name: REDIS_COMPRESSION
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: redis.compression
optional: true
- name: REDISDB
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: redis.db
optional: true
- name: REDIS_USERNAME
valueFrom:
secretKeyRef:
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
key: redis-username
optional: true
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
key: redis-password
optional: true
- name: ARGOCD_DEFAULT_CACHE_EXPIRATION
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.default.cache.expiration
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_OTLP_ADDRESS
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: otlp.address
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_OTLP_INSECURE
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: otlp.insecure
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_OTLP_HEADERS
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: otlp.headers
optional: true
- name: ARGOCD_APPLICATION_NAMESPACES
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: application.namespaces
optional: true
- name: ARGOCD_CONTROLLER_SHARDING_ALGORITHM
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.sharding.algorithm
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_KUBECTL_PARALLELISM_LIMIT
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.kubectl.parallelism.limit
optional: true
- name: ARGOCD_K8SCLIENT_RETRY_MAX
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.k8sclient.retry.max
optional: true
- name: ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.k8sclient.retry.base.backoff
optional: true
- name: ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.diff.server.side
optional: true
- name: ARGOCD_IGNORE_NORMALIZER_JQ_TIMEOUT
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.ignore.normalizer.jq.timeout
optional: true
{{- with .Values.controller.envFrom }}
envFrom:
{{- toYaml . | nindent 10 }}
{{- end }}
ports:
- name: metrics
containerPort: {{ .Values.controller.containerPorts.metrics }}
protocol: TCP
readinessProbe:
httpGet:
path: /healthz
port: metrics
initialDelaySeconds: {{ .Values.controller.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.controller.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.controller.readinessProbe.timeoutSeconds }}
successThreshold: {{ .Values.controller.readinessProbe.successThreshold }}
failureThreshold: {{ .Values.controller.readinessProbe.failureThreshold }}
resources:
{{- toYaml .Values.controller.resources | nindent 10 }}
{{- with .Values.controller.containerSecurityContext }}
securityContext:
{{- toYaml . | nindent 10 }}
{{- end }}
workingDir: /home/argocd
volumeMounts:
{{- with .Values.controller.volumeMounts }}
{{- toYaml . | nindent 8 }}
{{- end }}
- mountPath: /app/config/controller/tls
name: argocd-repo-server-tls
- mountPath: /home/argocd
name: argocd-home
{{- with .Values.controller.extraContainers }}
{{- tpl (toYaml .) $ | nindent 6 }}
{{- end }}
{{- with .Values.controller.initContainers }}
initContainers:
{{- tpl (toYaml .) $ | nindent 6 }}
{{- end }}
{{- with include "argo-cd.affinity" (dict "context" . "component" .Values.controller) }}
affinity:
{{- trim . | nindent 8 }}
{{- end }}
{{- with .Values.controller.nodeSelector | default .Values.global.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.controller.tolerations | default .Values.global.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.controller.topologySpreadConstraints | default .Values.global.topologySpreadConstraints }}
topologySpreadConstraints:
{{- range $constraint := . }}
- {{ toYaml $constraint | nindent 8 | trim }}
{{- if not $constraint.labelSelector }}
labelSelector:
matchLabels:
{{- include "argo-cd.selectorLabels" (dict "context" $ "name" $.Values.controller.name) | nindent 12 }}
{{- end }}
{{- end }}
{{- end }}
volumes:
{{- with .Values.controller.volumes }}
{{- toYaml . | nindent 6 }}
{{- end }}
- name: argocd-home
{{- if .Values.controller.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.controller.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {}
{{- end }}
- name: argocd-repo-server-tls
secret:
secretName: argocd-repo-server-tls
optional: true
items:
- key: tls.crt
path: tls.crt
- key: tls.key
path: tls.key
- key: ca.crt
path: ca.crt
{{- if .Values.controller.hostNetwork }}
hostNetwork: {{ .Values.controller.hostNetwork }}
{{- end }}
{{- with .Values.controller.dnsConfig }}
dnsConfig:
{{- toYaml . | nindent 8 }}
{{- end }}
dnsPolicy: {{ .Values.controller.dnsPolicy }}
{{- end }}

View file

@ -1,3 +1,4 @@
{{- if not .Values.controller.dynamicClusterDistribution | default false }}
apiVersion: apps/v1 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
metadata: metadata:
@ -55,6 +56,7 @@ spec:
terminationGracePeriodSeconds: {{ .Values.controller.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.controller.terminationGracePeriodSeconds }}
{{- end }} {{- end }}
serviceAccountName: {{ include "argo-cd.controller.serviceAccountName" . }} serviceAccountName: {{ include "argo-cd.controller.serviceAccountName" . }}
automountServiceAccountToken: {{ .Values.controller.automountServiceAccountToken }}
containers: containers:
- args: - args:
- /usr/local/bin/argocd-application-controller - /usr/local/bin/argocd-application-controller
@ -77,6 +79,8 @@ spec:
{{- end }} {{- end }}
- name: ARGOCD_CONTROLLER_REPLICAS - name: ARGOCD_CONTROLLER_REPLICAS
value: {{ .Values.controller.replicas | quote }} value: {{ .Values.controller.replicas | quote }}
- name: ARGOCD_APPLICATION_CONTROLLER_NAME
value: {{ template "argo-cd.controller.fullname" . }}
- name: ARGOCD_RECONCILIATION_TIMEOUT - name: ARGOCD_RECONCILIATION_TIMEOUT
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@ -275,6 +279,12 @@ spec:
name: argocd-cmd-params-cm name: argocd-cmd-params-cm
key: controller.diff.server.side key: controller.diff.server.side
optional: true optional: true
- name: ARGOCD_IGNORE_NORMALIZER_JQ_TIMEOUT
valueFrom:
configMapKeyRef:
name: argocd-cmd-params-cm
key: controller.ignore.normalizer.jq.timeout
optional: true
{{- with .Values.controller.envFrom }} {{- with .Values.controller.envFrom }}
envFrom: envFrom:
{{- toYaml . | nindent 10 }} {{- toYaml . | nindent 10 }}
@ -342,7 +352,12 @@ spec:
{{- toYaml . | nindent 6 }} {{- toYaml . | nindent 6 }}
{{- end }} {{- end }}
- name: argocd-home - name: argocd-home
{{- if .Values.controller.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.controller.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
- name: argocd-repo-server-tls - name: argocd-repo-server-tls
secret: secret:
secretName: argocd-repo-server-tls secretName: argocd-repo-server-tls
@ -362,3 +377,4 @@ spec:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
dnsPolicy: {{ .Values.controller.dnsPolicy }} dnsPolicy: {{ .Values.controller.dnsPolicy }}
{{- end }}

View file

@ -14,9 +14,9 @@ metadata:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }} {{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
spec: spec:
secretName: {{ .Values.applicationSet.certificate.secretName }} secretName: {{ .Values.applicationSet.certificate.secretName }}
commonName: {{ .Values.applicationSet.certificate.domain | quote }} commonName: {{ .Values.applicationSet.certificate.domain | default .Values.global.domain }}
dnsNames: dnsNames:
- {{ .Values.applicationSet.certificate.domain | quote }} - {{ .Values.applicationSet.certificate.domain | default .Values.global.domain }}
{{- range .Values.applicationSet.certificate.additionalHosts }} {{- range .Values.applicationSet.certificate.additionalHosts }}
- {{ . | quote }} - {{ . | quote }}
{{- end }} {{- end }}

View file

@ -0,0 +1,89 @@
{{- if .Values.applicationSet.allowAnyNamespace }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ include "argo-cd.applicationSet.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
labels:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
rules:
- apiGroups:
- argoproj.io
resources:
- applications
- applicationsets
- applicationsets/finalizers
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- argoproj.io
resources:
- applicationsets/status
verbs:
- get
- patch
- update
- apiGroups:
- argoproj.io
resources:
- appprojects
verbs:
- get
- apiGroups:
- ""
resources:
- events
verbs:
- create
- get
- list
- patch
- watch
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- update
- delete
- get
- list
- patch
- watch
- apiGroups:
- ""
resources:
- secrets
verbs:
- get
- list
- watch
- apiGroups:
- apps
- extensions
resources:
- deployments
verbs:
- get
- list
- watch
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
{{- end }}

View file

@ -0,0 +1,17 @@
{{- if .Values.applicationSet.allowAnyNamespace }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "argo-cd.applicationSet.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
labels:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ template "argo-cd.applicationSet.fullname" . }}
subjects:
- kind: ServiceAccount
name: {{ template "argo-cd.applicationSet.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
{{- end }}

View file

@ -56,6 +56,7 @@ spec:
terminationGracePeriodSeconds: {{ .Values.applicationSet.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.applicationSet.terminationGracePeriodSeconds }}
{{- end }} {{- end }}
serviceAccountName: {{ include "argo-cd.applicationSet.serviceAccountName" . }} serviceAccountName: {{ include "argo-cd.applicationSet.serviceAccountName" . }}
automountServiceAccountToken: {{ .Values.applicationSet.automountServiceAccountToken }}
containers: containers:
- name: {{ .Values.applicationSet.name }} - name: {{ .Values.applicationSet.name }}
image: {{ default .Values.global.image.repository .Values.applicationSet.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.applicationSet.image.tag }} image: {{ default .Values.global.image.repository .Values.applicationSet.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.applicationSet.image.tag }}
@ -302,9 +303,19 @@ spec:
configMap: configMap:
name: argocd-gpg-keys-cm name: argocd-gpg-keys-cm
- name: gpg-keyring - name: gpg-keyring
{{- if .Values.applicationSet.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.applicationSet.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
- name: tmp - name: tmp
{{- if .Values.applicationSet.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.applicationSet.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
- name: argocd-repo-server-tls - name: argocd-repo-server-tls
secret: secret:
secretName: argocd-repo-server-tls secretName: argocd-repo-server-tls

View file

@ -20,12 +20,11 @@ spec:
ingressClassName: {{ . }} ingressClassName: {{ . }}
{{- end }} {{- end }}
rules: rules:
{{- if .Values.applicationSet.ingress.hostname }} - host: {{ .Values.applicationSet.ingress.hostname | default .Values.global.domain }}
- host: {{ .Values.applicationSet.ingress.hostname }}
http: http:
paths: paths:
{{- with .Values.applicationSet.ingress.extraPaths }} {{- with .Values.applicationSet.ingress.extraPaths }}
{{- toYaml . | nindent 10 }} {{- tpl (toYaml .) $ | nindent 10 }}
{{- end }} {{- end }}
- path: {{ .Values.applicationSet.ingress.path }} - path: {{ .Values.applicationSet.ingress.path }}
pathType: {{ .Values.applicationSet.ingress.pathType }} pathType: {{ .Values.applicationSet.ingress.pathType }}
@ -34,7 +33,6 @@ spec:
name: {{ include "argo-cd.applicationSet.fullname" . }} name: {{ include "argo-cd.applicationSet.fullname" . }}
port: port:
number: {{ .Values.applicationSet.service.port }} number: {{ .Values.applicationSet.service.port }}
{{- end }}
{{- range .Values.applicationSet.ingress.extraHosts }} {{- range .Values.applicationSet.ingress.extraHosts }}
- host: {{ .name | quote }} - host: {{ .name | quote }}
http: http:
@ -48,13 +46,13 @@ spec:
number: {{ $.Values.applicationSet.service.port }} number: {{ $.Values.applicationSet.service.port }}
{{- end }} {{- end }}
{{- with .Values.applicationSet.ingress.extraRules }} {{- with .Values.applicationSet.ingress.extraRules }}
{{- toYaml . | nindent 4 }} {{- tpl (toYaml .) $ | nindent 4 }}
{{- end }} {{- end }}
{{- if or .Values.applicationSet.ingress.tls .Values.applicationSet.ingress.extraTls }} {{- if or .Values.applicationSet.ingress.tls .Values.applicationSet.ingress.extraTls }}
tls: tls:
{{- if .Values.applicationSet.ingress.tls }} {{- if .Values.applicationSet.ingress.tls }}
- hosts: - hosts:
- {{ .Values.applicationSet.ingress.hostname }} - {{ .Values.applicationSet.ingress.hostname | default .Values.global.domain }}
secretName: argocd-applicationset-controller-tls secretName: argocd-applicationset-controller-tls
{{- end }} {{- end }}
{{- with .Values.applicationSet.ingress.extraTls }} {{- with .Values.applicationSet.ingress.extraTls }}

View file

@ -8,7 +8,7 @@ metadata:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }} {{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
data: data:
context: | context: |
argocdUrl: {{ .Values.notifications.argocdUrl | quote }} argocdUrl: {{ .Values.notifications.argocdUrl | default (printf "https://%s" .Values.global.domain) }}
{{- with .Values.notifications.context }} {{- with .Values.notifications.context }}
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}

View file

@ -2,7 +2,7 @@
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: argocd-notifications-secret name: {{ .Values.notifications.secret.name }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ .Release.Namespace | quote }}
labels: labels:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }} {{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}

View file

@ -28,6 +28,9 @@ rules:
verbs: verbs:
- list - list
- watch - watch
{{- if (index .Values.configs.params "application.namespaces") }}
- create
{{- end }}
{{- if .Values.notifications.cm.create }} {{- if .Values.notifications.cm.create }}
- apiGroups: - apiGroups:
- "" - ""
@ -38,14 +41,12 @@ rules:
verbs: verbs:
- get - get
{{- end }} {{- end }}
{{- if .Values.notifications.secret.create }}
- apiGroups: - apiGroups:
- "" - ""
resourceNames: resourceNames:
- argocd-notifications-secret - {{ .Values.notifications.secret.name }}
resources: resources:
- secrets - secrets
verbs: verbs:
- get - get
{{- end }}
{{- end }} {{- end }}

View file

@ -55,6 +55,7 @@ spec:
terminationGracePeriodSeconds: {{ .Values.notifications.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.notifications.terminationGracePeriodSeconds }}
{{- end }} {{- end }}
serviceAccountName: {{ include "argo-cd.notifications.serviceAccountName" . }} serviceAccountName: {{ include "argo-cd.notifications.serviceAccountName" . }}
automountServiceAccountToken: {{ .Values.notifications.automountServiceAccountToken }}
containers: containers:
- name: {{ .Values.notifications.name }} - name: {{ .Values.notifications.name }}
image: {{ default .Values.global.image.repository .Values.notifications.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.notifications.image.tag }} image: {{ default .Values.global.image.repository .Values.notifications.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.notifications.image.tag }}
@ -66,6 +67,7 @@ spec:
- --logformat={{ default .Values.global.logging.format .Values.notifications.logFormat }} - --logformat={{ default .Values.global.logging.format .Values.notifications.logFormat }}
- --namespace={{ .Release.Namespace }} - --namespace={{ .Release.Namespace }}
- --argocd-repo-server={{ template "argo-cd.repoServer.fullname" . }}:{{ .Values.repoServer.service.port }} - --argocd-repo-server={{ template "argo-cd.repoServer.fullname" . }}:{{ .Values.repoServer.service.port }}
- --secret-name={{ .Values.notifications.secret.name }}
{{- range .Values.notifications.extraArgs }} {{- range .Values.notifications.extraArgs }}
- {{ . | squote }} - {{ . | squote }}
{{- end }} {{- end }}

View file

@ -37,7 +37,7 @@ rules:
- apiGroups: - apiGroups:
- "" - ""
resourceNames: resourceNames:
- argocd-notifications-secret - {{ .Values.notifications.secret.name }}
resources: resources:
- secrets - secrets
verbs: verbs:

View file

@ -66,6 +66,7 @@ spec:
terminationGracePeriodSeconds: {{ .Values.repoServer.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.repoServer.terminationGracePeriodSeconds }}
{{- end }} {{- end }}
serviceAccountName: {{ include "argo-cd.repoServer.serviceAccountName" . }} serviceAccountName: {{ include "argo-cd.repoServer.serviceAccountName" . }}
automountServiceAccountToken: {{ .Values.repoServer.automountServiceAccountToken }}
containers: containers:
- name: {{ .Values.repoServer.name }} - name: {{ .Values.repoServer.name }}
image: {{ default .Values.global.image.repository .Values.repoServer.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.repoServer.image.tag }} image: {{ default .Values.global.image.repository .Values.repoServer.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.repoServer.image.tag }}
@ -85,6 +86,8 @@ spec:
- name: USER_NAME - name: USER_NAME
value: argocd value: argocd
{{- end }} {{- end }}
- name: ARGOCD_REPO_SERVER_NAME
value: {{ template "argo-cd.repoServer.fullname" . }}
- name: ARGOCD_RECONCILIATION_TIMEOUT - name: ARGOCD_RECONCILIATION_TIMEOUT
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@ -277,6 +280,12 @@ spec:
key: reposerver.git.request.timeout key: reposerver.git.request.timeout
name: argocd-cmd-params-cm name: argocd-cmd-params-cm
optional: true optional: true
- name: ARGOCD_REVISION_CACHE_LOCK_TIMEOUT
valueFrom:
configMapKeyRef:
key: reposerver.revision.cache.lock.timeout
name: argocd-cmd-params-cm
optional: true
{{- if .Values.repoServer.useEphemeralHelmWorkingDir }} {{- if .Values.repoServer.useEphemeralHelmWorkingDir }}
- name: HELM_CACHE_HOME - name: HELM_CACHE_HOME
value: /helm-working-dir value: /helm-working-dir
@ -404,26 +413,46 @@ spec:
{{- if .Values.repoServer.existingVolumes.helmWorkingDir -}} {{- if .Values.repoServer.existingVolumes.helmWorkingDir -}}
{{ toYaml .Values.repoServer.existingVolumes.helmWorkingDir | nindent 8 }} {{ toYaml .Values.repoServer.existingVolumes.helmWorkingDir | nindent 8 }}
{{- else }} {{- else }}
{{- if .Values.repoServer.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.repoServer.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}
- name: plugins - name: plugins
{{- if .Values.repoServer.existingVolumes.plugins -}} {{- if .Values.repoServer.existingVolumes.plugins -}}
{{ toYaml .Values.repoServer.existingVolumes.plugins | nindent 8 }} {{ toYaml .Values.repoServer.existingVolumes.plugins | nindent 8 }}
{{- else }} {{- else }}
{{- if .Values.repoServer.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.repoServer.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
{{- end }} {{- end }}
- name: var-files - name: var-files
{{- if .Values.repoServer.existingVolumes.varFiles -}} {{- if .Values.repoServer.existingVolumes.varFiles -}}
{{ toYaml .Values.repoServer.existingVolumes.varFiles | nindent 8 }} {{ toYaml .Values.repoServer.existingVolumes.varFiles | nindent 8 }}
{{- else }} {{- else }}
{{- if .Values.repoServer.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.repoServer.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
{{- end }} {{- end }}
- name: tmp - name: tmp
{{- if .Values.repoServer.existingVolumes.tmp -}} {{- if .Values.repoServer.existingVolumes.tmp -}}
{{ toYaml .Values.repoServer.existingVolumes.tmp | nindent 8 }} {{ toYaml .Values.repoServer.existingVolumes.tmp | nindent 8 }}
{{- else }} {{- else }}
{{- if .Values.repoServer.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.repoServer.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
{{- end }} {{- end }}
- name: ssh-known-hosts - name: ssh-known-hosts
configMap: configMap:
@ -438,7 +467,12 @@ spec:
{{- if .Values.repoServer.existingVolumes.gpgKeyring -}} {{- if .Values.repoServer.existingVolumes.gpgKeyring -}}
{{ toYaml .Values.repoServer.existingVolumes.gpgKeyring | nindent 8 }} {{ toYaml .Values.repoServer.existingVolumes.gpgKeyring | nindent 8 }}
{{- else }} {{- else }}
{{- if .Values.repoServer.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.repoServer.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
{{- end }} {{- end }}
- name: argocd-repo-server-tls - name: argocd-repo-server-tls
secret: secret:

View file

@ -22,19 +22,12 @@ spec:
ingressClassName: {{ . }} ingressClassName: {{ . }}
{{- end }} {{- end }}
rules: rules:
- host: {{ .Values.server.ingress.hostname }} - host: {{ .Values.server.ingress.hostname | default .Values.global.domain }}
http: http:
paths: paths:
{{- with .Values.server.ingress.extraPaths }} {{- with .Values.server.ingress.extraPaths }}
{{- toYaml . | nindent 10 }} {{- tpl (toYaml .) $ | nindent 10 }}
{{- end }} {{- end }}
- path: {{ .Values.server.ingress.path }}
pathType: {{ $.Values.server.ingress.pathType }}
backend:
service:
name: {{ include "argo-cd.server.fullname" . }}
port:
number: {{ $servicePort }}
- path: {{ .Values.server.ingress.path }} - path: {{ .Values.server.ingress.path }}
pathType: {{ $.Values.server.ingressGrpc.pathType }} pathType: {{ $.Values.server.ingressGrpc.pathType }}
backend: backend:
@ -42,6 +35,13 @@ spec:
name: {{ include "argo-cd.server.fullname" $ }}-grpc name: {{ include "argo-cd.server.fullname" $ }}-grpc
port: port:
number: {{ $servicePort }} number: {{ $servicePort }}
- path: {{ .Values.server.ingress.path }}
pathType: {{ $.Values.server.ingress.pathType }}
backend:
service:
name: {{ include "argo-cd.server.fullname" . }}
port:
number: {{ $servicePort }}
{{- range .Values.server.ingress.extraHosts }} {{- range .Values.server.ingress.extraHosts }}
- host: {{ .name | quote }} - host: {{ .name | quote }}
http: http:
@ -55,13 +55,13 @@ spec:
number: {{ $servicePort }} number: {{ $servicePort }}
{{- end }} {{- end }}
{{- with .Values.server.ingress.extraRules }} {{- with .Values.server.ingress.extraRules }}
{{- toYaml . | nindent 4 }} {{- tpl (toYaml .) $ | nindent 4 }}
{{- end }} {{- end }}
{{- if or .Values.server.ingress.tls .Values.server.ingress.extraTls }} {{- if or .Values.server.ingress.tls .Values.server.ingress.extraTls }}
tls: tls:
{{- if .Values.server.ingress.tls }} {{- if .Values.server.ingress.tls }}
- hosts: - hosts:
- {{ .Values.server.ingress.hostname }} - {{ .Values.server.ingress.hostname | default .Values.global.domain }}
secretName: argocd-server-tls secretName: argocd-server-tls
{{- end }} {{- end }}
{{- with .Values.server.ingress.extraTls }} {{- with .Values.server.ingress.extraTls }}

View file

@ -14,9 +14,9 @@ metadata:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
spec: spec:
secretName: {{ .Values.server.certificate.secretName }} secretName: {{ .Values.server.certificate.secretName }}
commonName: {{ .Values.server.certificate.domain | quote }} commonName: {{ .Values.server.certificate.domain | default .Values.global.domain }}
dnsNames: dnsNames:
- {{ .Values.server.certificate.domain | quote }} - {{ .Values.server.certificate.domain | default .Values.global.domain }}
{{- range .Values.server.certificate.additionalHosts }} {{- range .Values.server.certificate.additionalHosts }}
- {{ . | quote }} - {{ . | quote }}
{{- end }} {{- end }}

View file

@ -6,6 +6,9 @@ metadata:
labels: labels:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
rules: rules:
{{- if .Values.server.clusterRoleRules.enabled }}
{{- toYaml .Values.server.clusterRoleRules.rules | nindent 2 }}
{{- else }}
- apiGroups: - apiGroups:
- '*' - '*'
resources: resources:
@ -48,6 +51,17 @@ rules:
- list - list
- update - update
- watch - watch
{{- if (index .Values.configs.params "application.namespaces") }}
- apiGroups:
- "argoproj.io"
resources:
- "applications"
verbs:
- create
- delete
- update
- patch
{{- end }}
- apiGroups: - apiGroups:
- batch - batch
resources: resources:
@ -62,4 +76,5 @@ rules:
verbs: verbs:
{{/* supports triggering workflows from UI */}} {{/* supports triggering workflows from UI */}}
- create - create
{{- end }}
{{- end }} {{- end }}

View file

@ -60,6 +60,7 @@ spec:
terminationGracePeriodSeconds: {{ .Values.server.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.server.terminationGracePeriodSeconds }}
{{- end }} {{- end }}
serviceAccountName: {{ include "argo-cd.server.serviceAccountName" . }} serviceAccountName: {{ include "argo-cd.server.serviceAccountName" . }}
automountServiceAccountToken: {{ .Values.server.automountServiceAccountToken }}
containers: containers:
- name: {{ .Values.server.name }} - name: {{ .Values.server.name }}
image: {{ default .Values.global.image.repository .Values.server.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.server.image.tag }} image: {{ default .Values.global.image.repository .Values.server.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.server.image.tag }}
@ -75,6 +76,8 @@ spec:
{{- with (concat .Values.global.env .Values.server.env) }} {{- with (concat .Values.global.env .Values.server.env) }}
{{- toYaml . | nindent 10 }} {{- toYaml . | nindent 10 }}
{{- end }} {{- end }}
- name: ARGOCD_SERVER_NAME
value: {{ template "argo-cd.server.fullname" . }}
- name: ARGOCD_SERVER_INSECURE - name: ARGOCD_SERVER_INSECURE
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@ -452,12 +455,27 @@ spec:
{{- end }} {{- end }}
{{- if .Values.server.extensions.enabled }} {{- if .Values.server.extensions.enabled }}
- name: extensions - name: extensions
{{- if .Values.server.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.server.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
{{- end }} {{- end }}
- name: plugins-home - name: plugins-home
{{- if .Values.server.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.server.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
- name: tmp - name: tmp
{{- if .Values.server.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.server.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
- name: ssh-known-hosts - name: ssh-known-hosts
configMap: configMap:
name: argocd-ssh-known-hosts-cm name: argocd-ssh-known-hosts-cm

View file

@ -27,11 +27,11 @@ spec:
ingressClassName: {{ . }} ingressClassName: {{ . }}
{{- end }} {{- end }}
rules: rules:
- host: {{ .Values.server.ingress.hostname }} - host: {{ .Values.server.ingress.hostname | default .Values.global.domain }}
http: http:
paths: paths:
{{- with .Values.server.ingress.extraPaths }} {{- with .Values.server.ingress.extraPaths }}
{{- toYaml . | nindent 10 }} {{- tpl (toYaml .) $ | nindent 10 }}
{{- end }} {{- end }}
- path: {{ .Values.server.ingress.path }} - path: {{ .Values.server.ingress.path }}
pathType: {{ .Values.server.ingress.pathType }} pathType: {{ .Values.server.ingress.pathType }}
@ -53,13 +53,13 @@ spec:
number: {{ $servicePort }} number: {{ $servicePort }}
{{- end }} {{- end }}
{{- with .Values.server.ingress.extraRules }} {{- with .Values.server.ingress.extraRules }}
{{- toYaml . | nindent 4 }} {{- tpl (toYaml .) $ | nindent 4 }}
{{- end }} {{- end }}
{{- if or .Values.server.ingress.tls .Values.server.ingress.extraTls }} {{- if or .Values.server.ingress.tls .Values.server.ingress.extraTls }}
tls: tls:
{{- if .Values.server.ingress.tls }} {{- if .Values.server.ingress.tls }}
- hosts: - hosts:
- {{ .Values.server.ingress.hostname }} - {{ .Values.server.ingress.hostname | default .Values.global.domain }}
secretName: argocd-server-tls secretName: argocd-server-tls
{{- end }} {{- end }}
{{- with .Values.server.ingress.extraTls }} {{- with .Values.server.ingress.extraTls }}

View file

@ -8,7 +8,7 @@ metadata:
{{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
spec: spec:
domains: domains:
- {{ .Values.server.ingress.hostname }} - {{ .Values.server.ingress.hostname | default .Values.global.domain }}
{{- with .Values.server.ingress.gke.managedCertificate.extraDomains }} {{- with .Values.server.ingress.gke.managedCertificate.extraDomains }}
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}

View file

@ -1,5 +1,5 @@
{{- if and .Values.server.ingressGrpc.enabled (eq .Values.server.ingress.controller "generic") -}} {{- if .Values.server.ingressGrpc.enabled -}}
{{- $hostname := .Values.server.ingressGrpc.hostname | default (printf "grpc.%s" .Values.server.ingress.hostname) -}} {{- $hostname := printf "grpc.%s" (.Values.server.ingress.hostname | default .Values.global.domain) -}}
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
@ -21,11 +21,11 @@ spec:
ingressClassName: {{ . }} ingressClassName: {{ . }}
{{- end }} {{- end }}
rules: rules:
- host: {{ $hostname }} - host: {{ .Values.server.ingressGrpc.hostname | default $hostname }}
http: http:
paths: paths:
{{- with .Values.server.ingressGrpc.extraPaths }} {{- with .Values.server.ingressGrpc.extraPaths }}
{{- toYaml . | nindent 10 }} {{- tpl (toYaml .) $ | nindent 10 }}
{{- end }} {{- end }}
- path: {{ .Values.server.ingressGrpc.path }} - path: {{ .Values.server.ingressGrpc.path }}
pathType: {{ .Values.server.ingressGrpc.pathType }} pathType: {{ .Values.server.ingressGrpc.pathType }}
@ -47,13 +47,13 @@ spec:
number: {{ $.Values.server.service.servicePortHttps }} number: {{ $.Values.server.service.servicePortHttps }}
{{- end }} {{- end }}
{{- with .Values.server.ingressGrpc.extraRules }} {{- with .Values.server.ingressGrpc.extraRules }}
{{- toYaml . | nindent 4 }} {{- tpl (toYaml .) $ | nindent 4 }}
{{- end }} {{- end }}
{{- if or .Values.server.ingressGrpc.tls .Values.server.ingressGrpc.extraTls }} {{- if or .Values.server.ingressGrpc.tls .Values.server.ingressGrpc.extraTls }}
tls: tls:
{{- if .Values.server.ingressGrpc.tls }} {{- if .Values.server.ingressGrpc.tls }}
- hosts: - hosts:
- {{ $hostname }} - {{ .Values.server.ingressGrpc.hostname | default $hostname }}
secretName: argocd-server-grpc-tls secretName: argocd-server-grpc-tls
{{- end }} {{- end }}
{{- with .Values.server.ingressGrpc.extraTls }} {{- with .Values.server.ingressGrpc.extraTls }}

View file

@ -22,11 +22,11 @@ spec:
ingressClassName: {{ . }} ingressClassName: {{ . }}
{{- end }} {{- end }}
rules: rules:
- host: {{ .Values.server.ingress.hostname }} - host: {{ .Values.server.ingress.hostname | default .Values.global.domain }}
http: http:
paths: paths:
{{- with .Values.server.ingress.extraPaths }} {{- with .Values.server.ingress.extraPaths }}
{{- toYaml . | nindent 10 }} {{- tpl (toYaml .) $ | nindent 10 }}
{{- end }} {{- end }}
- path: {{ .Values.server.ingress.path }} - path: {{ .Values.server.ingress.path }}
pathType: {{ $.Values.server.ingress.pathType }} pathType: {{ $.Values.server.ingress.pathType }}
@ -48,16 +48,16 @@ spec:
number: {{ $servicePort }} number: {{ $servicePort }}
{{- end }} {{- end }}
{{- with .Values.server.ingress.extraRules }} {{- with .Values.server.ingress.extraRules }}
{{- toYaml . | nindent 4 }} {{- tpl (toYaml .) $ | nindent 4 }}
{{- end }} {{- end }}
{{- if or .Values.server.ingress.tls .Values.server.ingress.extraTls }} {{- if or .Values.server.ingress.tls .Values.server.ingress.extraTls }}
tls: tls:
{{- if .Values.server.ingress.tls }} {{- if .Values.server.ingress.tls }}
- hosts: - hosts:
- {{ .Values.server.ingress.hostname }} - {{ .Values.server.ingress.hostname | default .Values.global.domain }}
{{- range .Values.server.ingress.extraHosts }} {{- range .Values.server.ingress.extraHosts }}
{{- if .name }} {{- if .name }}
- {{ .name }} - {{ .name }}
{{- end }} {{- end }}
{{- end }} {{- end }}
secretName: argocd-server-tls secretName: argocd-server-tls

View file

@ -13,7 +13,7 @@ metadata:
{{- end }} {{- end }}
{{- end }} {{- end }}
spec: spec:
host: {{ .Values.server.route.hostname | quote }} host: {{ .Values.server.route.hostname | default .Values.global.domain | quote }}
to: to:
kind: Service kind: Service
name: {{ template "argo-cd.server.fullname" . }} name: {{ template "argo-cd.server.fullname" . }}

View file

@ -353,6 +353,10 @@ spec:
definition in the format [old_image_name=]<image_name>:<image_tag> definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether to
apply common labels to resource selectors or not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to resources description: NamePrefix is a prefix appended to resources
for Kustomize apps for Kustomize apps
@ -688,6 +692,10 @@ spec:
image definition in the format [old_image_name=]<image_name>:<image_tag> image definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether
to apply common labels to resource selectors or not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to resources description: NamePrefix is a prefix appended to resources
for Kustomize apps for Kustomize apps
@ -1137,6 +1145,10 @@ spec:
definition in the format [old_image_name=]<image_name>:<image_tag> definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether to apply
common labels to resource selectors or not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to resources description: NamePrefix is a prefix appended to resources
for Kustomize apps for Kustomize apps
@ -1462,6 +1474,10 @@ spec:
definition in the format [old_image_name=]<image_name>:<image_tag> definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether to apply
common labels to resource selectors or not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to resources description: NamePrefix is a prefix appended to resources
for Kustomize apps for Kustomize apps
@ -1736,6 +1752,19 @@ spec:
description: ID is an auto incrementing identifier of the RevisionHistory description: ID is an auto incrementing identifier of the RevisionHistory
format: int64 format: int64
type: integer type: integer
initiatedBy:
description: InitiatedBy contains information about who initiated
the operations
properties:
automated:
description: Automated is set to true if operation was initiated
automatically by the application controller.
type: boolean
username:
description: Username contains the name of a user who started
operation
type: string
type: object
revision: revision:
description: Revision holds the revision the sync was performed description: Revision holds the revision the sync was performed
against against
@ -1940,6 +1969,10 @@ spec:
image definition in the format [old_image_name=]<image_name>:<image_tag> image definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether
to apply common labels to resource selectors or not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to resources description: NamePrefix is a prefix appended to resources
for Kustomize apps for Kustomize apps
@ -2278,6 +2311,11 @@ spec:
image definition in the format [old_image_name=]<image_name>:<image_tag> image definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether
to apply common labels to resource selectors or
not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to resources description: NamePrefix is a prefix appended to resources
for Kustomize apps for Kustomize apps
@ -2761,6 +2799,11 @@ spec:
image definition in the format [old_image_name=]<image_name>:<image_tag> image definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether
to apply common labels to resource selectors
or not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to description: NamePrefix is a prefix appended to
resources for Kustomize apps resources for Kustomize apps
@ -3117,6 +3160,11 @@ spec:
image definition in the format [old_image_name=]<image_name>:<image_tag> image definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies
whether to apply common labels to resource
selectors or not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended description: NamePrefix is a prefix appended
to resources for Kustomize apps to resources for Kustomize apps
@ -3587,6 +3635,11 @@ spec:
image definition in the format [old_image_name=]<image_name>:<image_tag> image definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether
to apply common labels to resource selectors or
not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to resources description: NamePrefix is a prefix appended to resources
for Kustomize apps for Kustomize apps
@ -3936,6 +3989,11 @@ spec:
image definition in the format [old_image_name=]<image_name>:<image_tag> image definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether
to apply common labels to resource selectors or
not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to description: NamePrefix is a prefix appended to
resources for Kustomize apps resources for Kustomize apps
@ -4428,6 +4486,11 @@ spec:
image definition in the format [old_image_name=]<image_name>:<image_tag> image definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether
to apply common labels to resource selectors or
not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to resources description: NamePrefix is a prefix appended to resources
for Kustomize apps for Kustomize apps
@ -4777,6 +4840,11 @@ spec:
image definition in the format [old_image_name=]<image_name>:<image_tag> image definition in the format [old_image_name=]<image_name>:<image_tag>
type: string type: string
type: array type: array
labelWithoutSelector:
description: LabelWithoutSelector specifies whether
to apply common labels to resource selectors or
not
type: boolean
namePrefix: namePrefix:
description: NamePrefix is a prefix appended to description: NamePrefix is a prefix appended to
resources for Kustomize apps resources for Kustomize apps

View file

@ -1,4 +1,4 @@
{{- if and .Values.crds.install .Values.applicationSet.enabled }} {{- if .Values.crds.install }}
apiVersion: apiextensions.k8s.io/v1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
@ -267,6 +267,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -481,6 +483,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -854,6 +858,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -1068,6 +1074,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -1445,6 +1453,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -1659,6 +1669,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -2016,6 +2028,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -2230,6 +2244,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -2381,8 +2397,6 @@ spec:
- metadata - metadata
- spec - spec
type: object type: object
required:
- elements
type: object type: object
matrix: matrix:
properties: properties:
@ -2611,6 +2625,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -2825,6 +2841,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -3198,6 +3216,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -3412,6 +3432,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -3789,6 +3811,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -4003,6 +4027,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -4360,6 +4386,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -4574,6 +4602,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -4725,8 +4755,6 @@ spec:
- metadata - metadata
- spec - spec
type: object type: object
required:
- elements
type: object type: object
matrix: matrix:
x-kubernetes-preserve-unknown-fields: true x-kubernetes-preserve-unknown-fields: true
@ -4941,6 +4969,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -5155,6 +5185,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -5702,6 +5734,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -5916,6 +5950,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -6458,6 +6494,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -6672,6 +6710,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -7043,6 +7083,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -7257,6 +7299,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -7638,6 +7682,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -7852,6 +7898,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -8225,6 +8273,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -8439,6 +8489,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -8816,6 +8868,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -9030,6 +9084,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -9387,6 +9443,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -9601,6 +9659,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -9752,8 +9812,6 @@ spec:
- metadata - metadata
- spec - spec
type: object type: object
required:
- elements
type: object type: object
matrix: matrix:
x-kubernetes-preserve-unknown-fields: true x-kubernetes-preserve-unknown-fields: true
@ -9968,6 +10026,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -10182,6 +10242,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -10729,6 +10791,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -10943,6 +11007,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -11485,6 +11551,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -11699,6 +11767,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -12074,6 +12144,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -12288,6 +12360,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -12652,6 +12726,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -12866,6 +12942,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -13413,6 +13491,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -13627,6 +13707,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -14169,6 +14251,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -14383,6 +14467,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -14829,6 +14915,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:
@ -15043,6 +15131,8 @@ spec:
items: items:
type: string type: string
type: array type: array
labelWithoutSelector:
type: boolean
namePrefix: namePrefix:
type: string type: string
nameSuffix: nameSuffix:

View file

@ -59,6 +59,7 @@ spec:
terminationGracePeriodSeconds: {{ .Values.dex.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.dex.terminationGracePeriodSeconds }}
{{- end }} {{- end }}
serviceAccountName: {{ template "argo-cd.dex.serviceAccountName" . }} serviceAccountName: {{ template "argo-cd.dex.serviceAccountName" . }}
automountServiceAccountToken: {{ .Values.dex.automountServiceAccountToken }}
containers: containers:
- name: {{ .Values.dex.name }} - name: {{ .Values.dex.name }}
image: {{ .Values.dex.image.repository }}:{{ .Values.dex.image.tag }} image: {{ .Values.dex.image.repository }}:{{ .Values.dex.image.tag }}
@ -99,8 +100,9 @@ spec:
{{- if .Values.dex.livenessProbe.enabled }} {{- if .Values.dex.livenessProbe.enabled }}
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /healthz/live path: {{ .Values.dex.livenessProbe.httpPath }}
port: metrics port: {{ .Values.dex.livenessProbe.httpPort }}
scheme: {{ .Values.dex.livenessProbe.httpScheme }}
initialDelaySeconds: {{ .Values.dex.livenessProbe.initialDelaySeconds }} initialDelaySeconds: {{ .Values.dex.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.dex.livenessProbe.periodSeconds }} periodSeconds: {{ .Values.dex.livenessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.dex.livenessProbe.timeoutSeconds }} timeoutSeconds: {{ .Values.dex.livenessProbe.timeoutSeconds }}
@ -110,8 +112,9 @@ spec:
{{- if .Values.dex.readinessProbe.enabled }} {{- if .Values.dex.readinessProbe.enabled }}
readinessProbe: readinessProbe:
httpGet: httpGet:
path: /healthz/ready path: {{ .Values.dex.readinessProbe.httpPath }}
port: metrics port: {{ .Values.dex.readinessProbe.httpPort }}
scheme: {{ .Values.dex.readinessProbe.httpScheme }}
initialDelaySeconds: {{ .Values.dex.readinessProbe.initialDelaySeconds }} initialDelaySeconds: {{ .Values.dex.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.dex.readinessProbe.periodSeconds }} periodSeconds: {{ .Values.dex.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.dex.readinessProbe.timeoutSeconds }} timeoutSeconds: {{ .Values.dex.readinessProbe.timeoutSeconds }}
@ -185,9 +188,19 @@ spec:
{{- end }} {{- end }}
volumes: volumes:
- name: static-files - name: static-files
{{- if .Values.dex.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.dex.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
- name: dexconfig - name: dexconfig
{{- if .Values.dex.emptyDir.sizeLimit }}
emptyDir:
sizeLimit: {{ .Values.dex.emptyDir.sizeLimit }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
- name: argocd-dex-server-tls - name: argocd-dex-server-tls
secret: secret:
secretName: argocd-dex-server-tls secretName: argocd-dex-server-tls

View file

@ -52,6 +52,7 @@ spec:
terminationGracePeriodSeconds: {{ .Values.redis.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.redis.terminationGracePeriodSeconds }}
{{- end }} {{- end }}
serviceAccountName: {{ include "argo-cd.redis.serviceAccountName" . }} serviceAccountName: {{ include "argo-cd.redis.serviceAccountName" . }}
automountServiceAccountToken: {{ .Values.redis.automountServiceAccountToken }}
containers: containers:
- name: {{ .Values.redis.name }} - name: {{ .Values.redis.name }}
image: {{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }} image: {{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }}
@ -193,7 +194,7 @@ spec:
- name: health - name: health
configMap: configMap:
name: {{ include "argo-cd.redis.fullname" . }}-health-configmap name: {{ include "argo-cd.redis.fullname" . }}-health-configmap
defaultMode: 0755 defaultMode: 493
{{- with .Values.redis.volumes }} {{- with .Values.redis.volumes }}
{{- toYaml . | nindent 8}} {{- toYaml . | nindent 8}}
{{- end }} {{- end }}

View file

@ -37,6 +37,10 @@ crds:
## Globally shared configuration ## Globally shared configuration
global: global:
# -- Default domain used by all components
## Used for ingresses, certificates, SSO, notifications, etc.
domain: argocd.example.com
# -- Common labels for the all resources # -- Common labels for the all resources
additionalLabels: {} additionalLabels: {}
# app: argo-cd # app: argo-cd
@ -155,9 +159,6 @@ configs:
# -- Annotations to be added to argocd-cm configmap # -- Annotations to be added to argocd-cm configmap
annotations: {} annotations: {}
# -- Argo CD's externally facing base URL (optional). Required when configuring SSO
url: ""
# -- The name of tracking label used by Argo CD for resource pruning # -- The name of tracking label used by Argo CD for resource pruning
application.instanceLabelKey: argocd.argoproj.io/instance application.instanceLabelKey: argocd.argoproj.io/instance
@ -179,6 +180,10 @@ configs:
# -- Timeout to refresh application data as well as target manifests cache # -- Timeout to refresh application data as well as target manifests cache
timeout.hard.reconciliation: 0s timeout.hard.reconciliation: 0s
# -- Enable Status Badge
## Ref: https://argo-cd.readthedocs.io/en/stable/user-guide/status-badge/
statusbadge.enabled: false
# Dex configuration # Dex configuration
# dex.config: | # dex.config: |
# connectors: # connectors:
@ -267,6 +272,12 @@ configs:
## Set comma-separated list. (e.g. app-team-one, app-team-two) ## Set comma-separated list. (e.g. app-team-one, app-team-two)
application.namespaces: "" application.namespaces: ""
# -- JQ Path expression timeout
## By default, the evaluation of a JQPathExpression is limited to one second.
## If you encounter a "JQ patch execution timed out" error message due to a complex JQPathExpression
## that requires more time to evaluate, you can extend the timeout period.
controller.ignore.normalizer.jq.timeout: "1s"
# Argo CD RBAC policy configuration # Argo CD RBAC policy configuration
## 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
rbac: rbac:
@ -576,8 +587,22 @@ controller:
# -- The number of application controller pods to run. # -- The number of application controller pods to run.
# Additional replicas will cause sharding of managed clusters across number of replicas. # Additional replicas will cause sharding of managed clusters across number of replicas.
## With dynamic cluster distribution turned on, sharding of the clusters will gracefully
## rebalance if the number of replica's changes or one becomes unhealthy. (alpha)
replicas: 1 replicas: 1
# -- Enable dynamic cluster distribution (alpha)
# Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/dynamic-cluster-distribution
## This is done using a deployment instead of a statefulSet
## When replicas are added or removed, the sharding algorithm is re-run to ensure that the
## clusters are distributed according to the algorithm. If the algorithm is well-balanced,
## like round-robin, then the shards will be well-balanced.
dynamicClusterDistribution: false
# -- Application controller heartbeat time
# Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/dynamic-cluster-distribution/#working-of-dynamic-distribution
heartbeatTime: 10
# -- Maximum number of controller revisions that will be maintained in StatefulSet history # -- Maximum number of controller revisions that will be maintained in StatefulSet history
revisionHistoryLimit: 5 revisionHistoryLimit: 5
@ -658,9 +683,19 @@ controller:
# - name: custom-tools # - name: custom-tools
# emptyDir: {} # emptyDir: {}
## Application controller emptyDir volumes
emptyDir:
# -- EmptyDir size limit for application controller
# @default -- `""` (defaults not set if not specified i.e. no size limit)
sizeLimit: ""
# sizeLimit: "1Gi"
# -- Annotations for the application controller StatefulSet # -- Annotations for the application controller StatefulSet
statefulsetAnnotations: {} statefulsetAnnotations: {}
# -- Annotations for the application controller Deployment
deploymentAnnotations: {}
# -- Annotations to be added to application controller pods # -- Annotations to be added to application controller pods
podAnnotations: {} podAnnotations: {}
@ -743,6 +778,9 @@ controller:
# topologyKey: topology.kubernetes.io/zone # topologyKey: topology.kubernetes.io/zone
# whenUnsatisfiable: DoNotSchedule # whenUnsatisfiable: DoNotSchedule
# -- Automount API credentials for the Service Account into the pod.
automountServiceAccountToken: true
serviceAccount: serviceAccount:
# -- Create a service account for the application controller # -- Create a service account for the application controller
create: true create: true
@ -971,6 +1009,13 @@ dex:
# -- Additional volumes to the dex pod # -- Additional volumes to the dex pod
volumes: [] volumes: []
## Dex server emptyDir volumes
emptyDir:
# -- EmptyDir size limit for Dex server
# @default -- `""` (defaults not set if not specified i.e. no size limit)
sizeLimit: ""
# sizeLimit: "1Gi"
# TLS certificate configuration via Secret # TLS certificate configuration via Secret
## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/tls/#configuring-tls-to-argocd-dex-server ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/tls/#configuring-tls-to-argocd-dex-server
## Note: Issuing certificates via cert-manager in not supported right now because it's not possible to restart Dex automatically without extra controllers. ## Note: Issuing certificates via cert-manager in not supported right now because it's not possible to restart Dex automatically without extra controllers.
@ -1038,6 +1083,12 @@ dex:
livenessProbe: livenessProbe:
# -- Enable Kubernetes liveness probe for Dex >= 2.28.0 # -- Enable Kubernetes liveness probe for Dex >= 2.28.0
enabled: false enabled: false
# -- Http path to use for the liveness probe
httpPath: /healthz/live
# -- Http port to use for the liveness probe
httpPort: metrics
# -- Scheme to use for for the liveness probe (can be HTTP or HTTPS)
httpScheme: HTTP
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
failureThreshold: 3 failureThreshold: 3
# -- Number of seconds after the container has started before [probe] is initiated # -- Number of seconds after the container has started before [probe] is initiated
@ -1052,6 +1103,12 @@ dex:
readinessProbe: readinessProbe:
# -- Enable Kubernetes readiness probe for Dex >= 2.28.0 # -- Enable Kubernetes readiness probe for Dex >= 2.28.0
enabled: false enabled: false
# -- Http path to use for the readiness probe
httpPath: /healthz/ready
# -- Http port to use for the readiness probe
httpPort: metrics
# -- Scheme to use for for the liveness probe (can be HTTP or HTTPS)
httpScheme: HTTP
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
failureThreshold: 3 failureThreshold: 3
# -- Number of seconds after the container has started before [probe] is initiated # -- Number of seconds after the container has started before [probe] is initiated
@ -1066,6 +1123,9 @@ dex:
# -- terminationGracePeriodSeconds for container lifecycle hook # -- terminationGracePeriodSeconds for container lifecycle hook
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
# -- Automount API credentials for the Service Account into the pod.
automountServiceAccountToken: true
serviceAccount: serviceAccount:
# -- Create dex service account # -- Create dex service account
create: true create: true
@ -1154,7 +1214,7 @@ redis:
# -- Redis repository # -- Redis repository
repository: public.ecr.aws/docker/library/redis repository: public.ecr.aws/docker/library/redis
# -- Redis tag # -- Redis tag
tag: 7.0.15-alpine tag: 7.2.4-alpine
# -- Redis image pull policy # -- Redis image pull policy
# @default -- `""` (defaults to global.image.imagePullPolicy) # @default -- `""` (defaults to global.image.imagePullPolicy)
imagePullPolicy: "" imagePullPolicy: ""
@ -1170,7 +1230,7 @@ redis:
# -- Repository to use for the redis-exporter # -- Repository to use for the redis-exporter
repository: public.ecr.aws/bitnami/redis-exporter repository: public.ecr.aws/bitnami/redis-exporter
# -- Tag to use for the redis-exporter # -- Tag to use for the redis-exporter
tag: 1.57.0 tag: 1.58.0
# -- Image pull policy for the redis-exporter # -- Image pull policy for the redis-exporter
# @default -- `""` (defaults to global.image.imagePullPolicy) # @default -- `""` (defaults to global.image.imagePullPolicy)
imagePullPolicy: "" imagePullPolicy: ""
@ -1366,6 +1426,9 @@ redis:
# -- terminationGracePeriodSeconds for container lifecycle hook # -- terminationGracePeriodSeconds for container lifecycle hook
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
# -- Automount API credentials for the Service Account into the pod.
automountServiceAccountToken: true
serviceAccount: serviceAccount:
# -- Create a service account for the redis pod # -- Create a service account for the redis pod
create: false create: false
@ -1435,7 +1498,7 @@ redis-ha:
# -- Redis repository # -- Redis repository
repository: public.ecr.aws/docker/library/redis repository: public.ecr.aws/docker/library/redis
# -- Redis tag # -- Redis tag
tag: 7.0.15-alpine tag: 7.2.4-alpine
## Prometheus redis-exporter sidecar ## Prometheus redis-exporter sidecar
exporter: exporter:
# -- Enable Prometheus redis-exporter sidecar # -- Enable Prometheus redis-exporter sidecar
@ -1443,7 +1506,7 @@ redis-ha:
# -- Repository to use for the redis-exporter # -- Repository to use for the redis-exporter
image: public.ecr.aws/bitnami/redis-exporter image: public.ecr.aws/bitnami/redis-exporter
# -- Tag to use for the redis-exporter # -- Tag to use for the redis-exporter
tag: 1.57.0 tag: 1.58.0
persistentVolume: persistentVolume:
# -- Configures persistence on Redis nodes # -- Configures persistence on Redis nodes
enabled: false enabled: false
@ -1461,6 +1524,9 @@ redis-ha:
haproxy: haproxy:
# -- Enabled HAProxy LoadBalancing/Proxy # -- Enabled HAProxy LoadBalancing/Proxy
enabled: true enabled: true
# -- Custom labels for the haproxy pod. This is relevant for Argo CD CLI.
labels:
app.kubernetes.io/name: argocd-redis-ha-haproxy
metrics: metrics:
# -- HAProxy enable prometheus metric scraping # -- HAProxy enable prometheus metric scraping
enabled: true enabled: true
@ -1626,7 +1692,7 @@ server:
# -- Repository to use for extension installer image # -- Repository to use for extension installer image
repository: "quay.io/argoprojlabs/argocd-extension-installer" repository: "quay.io/argoprojlabs/argocd-extension-installer"
# -- Tag to use for extension installer image # -- Tag to use for extension installer image
tag: "v0.0.1" tag: "v0.0.5"
# -- Image pull policy for extensions # -- Image pull policy for extensions
# @default -- `""` (defaults to global.image.imagePullPolicy) # @default -- `""` (defaults to global.image.imagePullPolicy)
imagePullPolicy: "" imagePullPolicy: ""
@ -1714,6 +1780,13 @@ server:
# - name: custom-tools # - name: custom-tools
# emptyDir: {} # emptyDir: {}
## Argo CD server emptyDir volumes
emptyDir:
# -- EmptyDir size limit for the Argo CD server
# @default -- `""` (defaults not set if not specified i.e. no size limit)
sizeLimit: ""
# sizeLimit: "1Gi"
# -- Annotations to be added to server Deployment # -- Annotations to be added to server Deployment
deploymentAnnotations: {} deploymentAnnotations: {}
@ -1828,7 +1901,8 @@ server:
# -- The name of the Secret that will be automatically created and managed by this Certificate resource # -- The name of the Secret that will be automatically created and managed by this Certificate resource
secretName: argocd-server-tls secretName: argocd-server-tls
# -- Certificate primary domain (commonName) # -- Certificate primary domain (commonName)
domain: argocd.example.com # @default -- `""` (defaults to global.domain)
domain: ""
# -- Certificate Subject Alternate Names (SANs) # -- Certificate Subject Alternate Names (SANs)
additionalHosts: [] additionalHosts: []
# -- The requested 'duration' (i.e. lifetime) of the certificate. # -- The requested 'duration' (i.e. lifetime) of the certificate.
@ -1954,6 +2028,9 @@ server:
# -- Prometheus ServiceMonitor annotations # -- Prometheus ServiceMonitor annotations
annotations: {} annotations: {}
# -- Automount API credentials for the Service Account into the pod.
automountServiceAccountToken: true
serviceAccount: serviceAccount:
# -- Create server service account # -- Create server service account
create: true create: true
@ -1985,8 +2062,8 @@ server:
ingressClassName: "" ingressClassName: ""
# -- Argo CD server hostname # -- Argo CD server hostname
## NOTE: Hostname must be provided if Ingress is enabled # @default -- `""` (defaults to global.domain)
hostname: argocd.example.com hostname: ""
# -- The path to Argo CD server # -- The path to Argo CD server
path: / path: /
@ -2007,6 +2084,7 @@ server:
# -- Additional ingress paths # -- Additional ingress paths
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
## Note: Supports use of custom Helm templates
extraPaths: [] extraPaths: []
# - path: /* # - path: /*
# pathType: Prefix # pathType: Prefix
@ -2018,15 +2096,17 @@ server:
# -- Additional ingress rules # -- Additional ingress rules
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
## Note: Supports use of custom Helm templates
extraRules: [] extraRules: []
# - host: example.example.com # - http:
# http: # paths:
# path: / # - path: /
# pathType: Prefix
# backend: # backend:
# service: # service:
# name: example-svc # name: '{{ include "argo-cd.server.fullname" . }}'
# port: # port:
# name: http # name: '{{ .Values.server.service.servicePortHttpsName }}'
# -- Additional TLS configuration # -- Additional TLS configuration
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
@ -2040,8 +2120,9 @@ server:
## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#aws-application-load-balancers-albs-and-classic-elb-http-mode ## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#aws-application-load-balancers-albs-and-classic-elb-http-mode
aws: aws:
# -- Backend protocol version for the AWS ALB gRPC service # -- Backend protocol version for the AWS ALB gRPC service
## This tells AWS to send traffic from the ALB using HTTP2. Can use gRPC as well if you want to leverage gRPC specific features ## This tells AWS to send traffic from the ALB using gRPC.
backendProtocolVersion: HTTP2 ## For more information: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html#health-check-settings
backendProtocolVersion: GRPC
# -- Service type for the AWS ALB gRPC service # -- Service type for the AWS ALB gRPC service
## Can be of type NodePort or ClusterIP depending on which mode you are running. ## Can be of type NodePort or ClusterIP depending on which mode you are running.
## Instance mode needs type NodePort, IP mode needs type ClusterIP ## Instance mode needs type NodePort, IP mode needs type ClusterIP
@ -2112,6 +2193,7 @@ server:
# -- Additional ingress paths for dedicated [gRPC-ingress] # -- Additional ingress paths for dedicated [gRPC-ingress]
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
## Note: Supports use of custom Helm templates
extraPaths: [] extraPaths: []
# - path: /* # - path: /*
# pathType: Prefix # pathType: Prefix
@ -2123,15 +2205,17 @@ server:
# -- Additional ingress rules # -- Additional ingress rules
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
## Note: Supports use of custom Helm templates
extraRules: [] extraRules: []
# - host: example.example.com # - http:
# http: # paths:
# path: / # - path: /
# pathType: Prefix
# backend: # backend:
# service: # service:
# name: example-svc # name: '{{ include "argo-cd.server.fullname" . }}'
# port: # port:
# name: http # name: '{{ .Values.server.service.servicePortHttpName }}'
# -- Additional TLS configuration for dedicated [gRPC-ingress] # -- Additional TLS configuration for dedicated [gRPC-ingress]
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
@ -2156,6 +2240,14 @@ server:
# -- Termination policy of Openshift Route # -- Termination policy of Openshift Route
termination_policy: None termination_policy: None
## Enable this and set the rules: to whatever custom rules you want for the Cluster Role resource.
## Defaults to off
clusterRoleRules:
# -- Enable custom rules for the server's ClusterRole resource
enabled: false
# -- List of custom rules for the server's ClusterRole resource
rules: []
## Repo Server ## Repo Server
repoServer: repoServer:
# -- Repo server name # -- Repo server name
@ -2320,6 +2412,13 @@ repoServer:
# persistentVolumeClaim: # persistentVolumeClaim:
# claimName: pvc-argocd-repo-server-plugins # claimName: pvc-argocd-repo-server-plugins
## RepoServer emptyDir volumes
emptyDir:
# -- EmptyDir size limit for repo server
# @default -- `""` (defaults not set if not specified i.e. no size limit)
sizeLimit: ""
# sizeLimit: "1Gi"
# -- Toggle the usage of a ephemeral Helm working directory # -- Toggle the usage of a ephemeral Helm working directory
useEphemeralHelmWorkingDir: true useEphemeralHelmWorkingDir: true
@ -2509,6 +2608,9 @@ repoServer:
# -- List of custom rules for the Repo server's Cluster Role resource # -- List of custom rules for the Repo server's Cluster Role resource
rules: [] rules: []
# -- Automount API credentials for the Service Account into the pod.
automountServiceAccountToken: true
## Repo server service account ## Repo server service account
## If create is set to true, make sure to uncomment the name and update the rbac section below ## If create is set to true, make sure to uncomment the name and update the rbac section below
serviceAccount: serviceAccount:
@ -2607,6 +2709,13 @@ applicationSet:
# -- List of extra volumes to add # -- List of extra volumes to add
extraVolumes: [] extraVolumes: []
## ApplicationSet controller emptyDir volumes
emptyDir:
# -- EmptyDir size limit for applicationSet controller
# @default -- `""` (defaults not set if not specified i.e. no size limit)
sizeLimit: ""
# sizeLimit: "1Gi"
## Metrics service configuration ## Metrics service configuration
metrics: metrics:
# -- Deploy metrics service # -- Deploy metrics service
@ -2663,6 +2772,9 @@ applicationSet:
# -- ApplicationSet service port name # -- ApplicationSet service port name
portName: http-webhook portName: http-webhook
# -- Automount API credentials for the Service Account into the pod.
automountServiceAccountToken: true
serviceAccount: serviceAccount:
# -- Create ApplicationSet controller service account # -- Create ApplicationSet controller service account
create: true create: true
@ -2792,7 +2904,8 @@ applicationSet:
# -- The name of the Secret that will be automatically created and managed by this Certificate resource # -- The name of the Secret that will be automatically created and managed by this Certificate resource
secretName: argocd-applicationset-controller-tls secretName: argocd-applicationset-controller-tls
# -- Certificate primary domain (commonName) # -- Certificate primary domain (commonName)
domain: argocd.example.com # @default -- `""` (defaults to global.domain)
domain: ""
# -- Certificate Subject Alternate Names (SANs) # -- Certificate Subject Alternate Names (SANs)
additionalHosts: [] additionalHosts: []
# -- The requested 'duration' (i.e. lifetime) of the certificate. # -- The requested 'duration' (i.e. lifetime) of the certificate.
@ -2839,8 +2952,8 @@ applicationSet:
ingressClassName: "" ingressClassName: ""
# -- Argo CD ApplicationSet hostname # -- Argo CD ApplicationSet hostname
## NOTE: Hostname must be provided if Ingress is enabled # @default -- `""` (defaults to global.domain)
hostname: argocd.example.com hostname: ""
# -- List of ingress paths # -- List of ingress paths
path: /api/webhook path: /api/webhook
@ -2871,15 +2984,17 @@ applicationSet:
# -- Additional ingress rules # -- Additional ingress rules
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
## Note: Supports use of custom Helm templates
extraRules: [] extraRules: []
# - host: example.example.com # - http:
# http: # paths:
# path: / # - path: /api/webhook
# backend: # pathType: Prefix
# service: # backend:
# name: example-svc # service:
# port: # name: '{{ include "argo-cd.applicationSet.fullname" . }}'
# name: http # port:
# name: '{{ .Values.applicationSet.service.portName }}'
# -- Additional ingress TLS configuration # -- Additional ingress TLS configuration
# @default -- `[]` (See [values.yaml]) # @default -- `[]` (See [values.yaml])
@ -2887,7 +3002,8 @@ applicationSet:
# - secretName: argocd-applicationset-tls # - secretName: argocd-applicationset-tls
# hosts: # hosts:
# - argocd-applicationset.example.com # - argocd-applicationset.example.com
# -- Enable ApplicationSet in any namespace feature
allowAnyNamespace: false
## Notifications controller ## Notifications controller
notifications: notifications:
# -- Enable notifications controller # -- Enable notifications controller
@ -2897,7 +3013,8 @@ notifications:
name: notifications-controller name: notifications-controller
# -- Argo CD dashboard url; used in place of {{.context.argocdUrl}} in templates # -- Argo CD dashboard url; used in place of {{.context.argocdUrl}} in templates
argocdUrl: # @default -- `""` (defaults to https://`global.domain`)
argocdUrl: ""
## Notifications controller Pod Disruption Budget ## Notifications controller Pod Disruption Budget
## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ ## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
@ -2974,8 +3091,12 @@ notifications:
secret: secret:
# -- Whether helm chart creates notifications controller secret # -- Whether helm chart creates notifications controller secret
## If true, will create a secret with the name below. Otherwise, will assume existence of a secret with that name.
create: true create: true
# -- notifications controller Secret name
name: "argocd-notifications-secret"
# -- key:value pairs of annotations to be added to the secret # -- key:value pairs of annotations to be added to the secret
annotations: {} annotations: {}
@ -3115,6 +3236,9 @@ notifications:
# @default -- `""` (defaults to global.priorityClassName) # @default -- `""` (defaults to global.priorityClassName)
priorityClassName: "" priorityClassName: ""
# -- Automount API credentials for the Service Account into the pod.
automountServiceAccountToken: true
serviceAccount: serviceAccount:
# -- Create notifications controller service account # -- Create notifications controller service account
create: true create: true

View file

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v1.9.1 appVersion: v1.9.1
description: A Helm chart for Argo Events, the event-driven workflow automation framework description: A Helm chart for Argo Events, the event-driven workflow automation framework
name: argo-events name: argo-events
version: 2.4.3 version: 2.4.4
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
icon: https://avatars.githubusercontent.com/u/30269780?s=200&v=4 icon: https://avatars.githubusercontent.com/u/30269780?s=200&v=4
keywords: keywords:
@ -18,5 +18,5 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252 fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: | artifacthub.io/changes: |
- kind: changed - kind: added
description: Bump argo-events to v1.9.1 description: Support ability to set .Values.namespaceOverride

View file

@ -87,6 +87,7 @@ done
| global.podLabels | object | `{}` | Labels for the all deployed pods | | global.podLabels | object | `{}` | Labels for the all deployed pods |
| global.securityContext | object | `{}` | Toggle and define securityContext. See [values.yaml] | | global.securityContext | object | `{}` | Toggle and define securityContext. See [values.yaml] |
| nameOverride | string | `"argo-events"` | Provide a name in place of `argo-events` | | nameOverride | string | `"argo-events"` | Provide a name in place of `argo-events` |
| namespaceOverride | string | `.Release.Namespace` | Override the namespace |
| openshift | bool | `false` | Deploy on OpenShift | | openshift | bool | `false` | Deploy on OpenShift |
### Controller ### Controller

View file

@ -136,3 +136,11 @@ Define Pdb apiVersion
{{- printf "policy/v1beta1" -}} {{- printf "policy/v1beta1" -}}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{/*
Expand the namespace of the release.
Allows overriding it for multi-namespace deployments in combined charts.
*/}}
{{- define "argo-events.namespace" -}}
{{- default .Release.Namespace .Values.namespaceOverride | trunc 63 | trimSuffix "-" -}}
{{- end }}

View file

@ -2,7 +2,7 @@ apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: {{ include "argo-events.controller.fullname" . }} name: {{ include "argo-events.controller.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
labels: labels:
{{- include "argo-events.labels" (dict "context" . "name" .Values.controller.name) | nindent 4 }} {{- include "argo-events.labels" (dict "context" . "name" .Values.controller.name) | nindent 4 }}
data: data:

View file

@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ include "argo-events.controller.fullname" . }} name: {{ include "argo-events.controller.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
labels: labels:
{{- include "argo-events.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-events.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
app.kubernetes.io/version: {{ include "argo-events.controller_chart_version_label" . }} app.kubernetes.io/version: {{ include "argo-events.controller_chart_version_label" . }}

View file

@ -3,7 +3,7 @@ apiVersion: {{ template "argo-events.pdb.apiVersion" . }}
kind: PodDisruptionBudget kind: PodDisruptionBudget
metadata: metadata:
name: {{ template "argo-events.controller.fullname" . }} name: {{ template "argo-events.controller.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
labels: labels:
{{- include "argo-events.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-events.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
{{- with .Values.controller.pdb.labels }} {{- with .Values.controller.pdb.labels }}

View file

@ -4,7 +4,7 @@ kind: {{ .Values.controller.rbac.namespaced | ternary "Role" "ClusterRole" }}
metadata: metadata:
name: {{ include "argo-events.controller.fullname" . }} name: {{ include "argo-events.controller.fullname" . }}
{{- if .Values.controller.rbac.namespaced }} {{- if .Values.controller.rbac.namespaced }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
{{- end }} {{- end }}
labels: labels:
{{- include "argo-events.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-events.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
@ -122,5 +122,5 @@ roleRef:
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ include "argo-events.controller.serviceAccountName" . }} name: {{ include "argo-events.controller.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
{{- end }} {{- end }}

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ template "argo-events.controller.fullname" . }}-metrics name: {{ template "argo-events.controller.fullname" . }}-metrics
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
{{- with .Values.controller.metrics.service.annotations }} {{- with .Values.controller.metrics.service.annotations }}
annotations: annotations:
{{- range $key, $value := . }} {{- range $key, $value := . }}

View file

@ -4,7 +4,7 @@ kind: ServiceAccount
automountServiceAccountToken: {{ .Values.controller.serviceAccount.automountServiceAccountToken }} automountServiceAccountToken: {{ .Values.controller.serviceAccount.automountServiceAccountToken }}
metadata: metadata:
name: {{ include "argo-events.controller.serviceAccountName" . }} name: {{ include "argo-events.controller.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
{{- with .Values.controller.serviceAccount.annotations }} {{- with .Values.controller.serviceAccount.annotations }}
annotations: annotations:
{{- range $key, $value := . }} {{- range $key, $value := . }}

View file

@ -3,7 +3,7 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: {{ template "argo-events.controller.fullname" . }} name: {{ template "argo-events.controller.fullname" . }}
namespace: {{ default .Release.Namespace .Values.controller.metrics.serviceMonitor.namespace | quote }} namespace: {{ default (include "argo-events.namespace" .) .Values.controller.metrics.serviceMonitor.namespace | quote }}
labels: labels:
{{- include "argo-events.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-events.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
{{- with .Values.controller.metrics.serviceMonitor.selector }} {{- with .Values.controller.metrics.serviceMonitor.selector }}
@ -29,7 +29,7 @@ spec:
{{- end }} {{- end }}
namespaceSelector: namespaceSelector:
matchNames: matchNames:
- {{ .Release.Namespace | quote }} - {{ include "argo-events.namespace" . | quote }}
selector: selector:
matchLabels: matchLabels:
{{- include "argo-events.selectorLabels" (dict "context" . "component" .Values.controller.name "name" (printf "%s-metrics" .Values.controller.name)) | nindent 6 }} {{- include "argo-events.selectorLabels" (dict "context" . "component" .Values.controller.name "name" (printf "%s-metrics" .Values.controller.name)) | nindent 6 }}

View file

@ -12,5 +12,5 @@ roleRef:
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ include "argo-events.webhook.serviceAccountName" . }} name: {{ include "argo-events.webhook.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
{{- end }} {{- end }}

View file

@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: events-webhook name: events-webhook
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
labels: labels:
{{- include "argo-events.labels" (dict "context" . "component" .Values.webhook.name "name" .Values.webhook.name) | nindent 4 }} {{- include "argo-events.labels" (dict "context" . "component" .Values.webhook.name "name" .Values.webhook.name) | nindent 4 }}
app.kubernetes.io/version: {{ include "argo-events.webhook_chart_version_label" . }} app.kubernetes.io/version: {{ include "argo-events.webhook_chart_version_label" . }}

View file

@ -3,7 +3,7 @@ apiVersion: {{ template "argo-events.pdb.apiVersion" . }}
kind: PodDisruptionBudget kind: PodDisruptionBudget
metadata: metadata:
name: {{ template "argo-events.webhook.fullname" . }} name: {{ template "argo-events.webhook.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
labels: labels:
{{- include "argo-events.labels" (dict "context" . "component" .Values.webhook.name "name" .Values.webhook.name) | nindent 4 }} {{- include "argo-events.labels" (dict "context" . "component" .Values.webhook.name "name" .Values.webhook.name) | nindent 4 }}
{{- with .Values.webhook.pdb.labels }} {{- with .Values.webhook.pdb.labels }}

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: events-webhook name: events-webhook
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
labels: labels:
{{- include "argo-events.labels" (dict "context" . "name" .Values.webhook.name) | nindent 4 }} {{- include "argo-events.labels" (dict "context" . "name" .Values.webhook.name) | nindent 4 }}
spec: spec:

View file

@ -4,7 +4,7 @@ kind: ServiceAccount
automountServiceAccountToken: {{ .Values.webhook.serviceAccount.automountServiceAccountToken }} automountServiceAccountToken: {{ .Values.webhook.serviceAccount.automountServiceAccountToken }}
metadata: metadata:
name: {{ include "argo-events.webhook.serviceAccountName" . }} name: {{ include "argo-events.webhook.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-events.namespace" . | quote }}
{{- with .Values.webhook.serviceAccount.annotations }} {{- with .Values.webhook.serviceAccount.annotations }}
annotations: annotations:
{{- range $key, $value := . }} {{- range $key, $value := . }}

View file

@ -6,6 +6,9 @@
nameOverride: argo-events nameOverride: argo-events
# -- String to fully override "argo-events.fullname" template # -- String to fully override "argo-events.fullname" template
fullnameOverride: "" fullnameOverride: ""
# -- Override the namespace
# @default -- `.Release.Namespace`
namespaceOverride: ""
# -- Deploy on OpenShift # -- Deploy on OpenShift
openshift: false openshift: false

View file

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v1.6.6 appVersion: v1.6.6
description: A Helm chart for Argo Rollouts description: A Helm chart for Argo Rollouts
name: argo-rollouts name: argo-rollouts
version: 2.34.3 version: 2.35.2
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
icon: https://argoproj.github.io/argo-rollouts/assets/logo.png icon: https://argoproj.github.io/argo-rollouts/assets/logo.png
keywords: keywords:
@ -18,5 +18,5 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252 fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: | artifacthub.io/changes: |
- kind: changed - kind: added
description: Bump argo-rollouts to v1.6.6 description: Added pod labels for the controller and the dashboard components

View file

@ -50,6 +50,7 @@ For full list of changes please check ArtifactHub [changelog].
| extraObjects | list | `[]` | Additional manifests to deploy within the chart. A list of objects. | | extraObjects | list | `[]` | Additional manifests to deploy within the chart. A list of objects. |
| fullnameOverride | string | `nil` | String to fully override "argo-rollouts.fullname" template | | fullnameOverride | string | `nil` | String to fully override "argo-rollouts.fullname" template |
| global.deploymentAnnotations | object | `{}` | Annotations for all deployed Deployments | | global.deploymentAnnotations | object | `{}` | Annotations for all deployed Deployments |
| global.deploymentLabels | object | `{}` | Labels for all deployed Deployments |
| imagePullSecrets | list | `[]` | Secrets with credentials to pull images from a private registry. Registry secret names as an array. | | imagePullSecrets | list | `[]` | Secrets with credentials to pull images from a private registry. Registry secret names as an array. |
| installCRDs | bool | `true` | Install and upgrade CRDs | | installCRDs | bool | `true` | Install and upgrade CRDs |
| keepCRDs | bool | `true` | Keep CRD's on helm uninstall | | keepCRDs | bool | `true` | Keep CRD's on helm uninstall |
@ -60,12 +61,14 @@ For full list of changes please check ArtifactHub [changelog].
| notifications.secret.items | object | `{}` | Generic key:value pairs to be inserted into the notifications secret | | notifications.secret.items | object | `{}` | Generic key:value pairs to be inserted into the notifications secret |
| notifications.templates | object | `{}` | Notification templates | | notifications.templates | object | `{}` | Notification templates |
| notifications.triggers | object | `{}` | The trigger defines the condition when the notification should be sent | | notifications.triggers | object | `{}` | The trigger defines the condition when the notification should be sent |
| providerRBAC.additionalRules | list | `[]` | Additional RBAC rules for others providers |
| providerRBAC.enabled | bool | `true` | Toggles addition of provider-specific RBAC rules to the controller Role and ClusterRole | | providerRBAC.enabled | bool | `true` | Toggles addition of provider-specific RBAC rules to the controller Role and ClusterRole |
| providerRBAC.providers.ambassador | bool | `true` | Adds RBAC rules for the Ambassador provider | | providerRBAC.providers.ambassador | bool | `true` | Adds RBAC rules for the Ambassador provider |
| providerRBAC.providers.apisix | bool | `true` | Adds RBAC rules for the Apisix provider | | providerRBAC.providers.apisix | bool | `true` | Adds RBAC rules for the Apisix provider |
| providerRBAC.providers.awsAppMesh | bool | `true` | Adds RBAC rules for the AWS App Mesh provider | | providerRBAC.providers.awsAppMesh | bool | `true` | Adds RBAC rules for the AWS App Mesh provider |
| providerRBAC.providers.awsLoadBalancerController | bool | `true` | Adds RBAC rules for the AWS Load Balancer Controller provider | | providerRBAC.providers.awsLoadBalancerController | bool | `true` | Adds RBAC rules for the AWS Load Balancer Controller provider |
| providerRBAC.providers.contour | bool | `true` | Adds RBAC rules for the Contour provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-contour/blob/main/README.md` | | providerRBAC.providers.contour | bool | `true` | Adds RBAC rules for the Contour provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-contour/blob/main/README.md` |
| providerRBAC.providers.gatewayAPI | bool | `true` | Adds RBAC rules for the Gateway API provider |
| providerRBAC.providers.glooPlatform | bool | `true` | Adds RBAC rules for the Gloo Platform provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-glooplatform/blob/main/README.md` | | providerRBAC.providers.glooPlatform | bool | `true` | Adds RBAC rules for the Gloo Platform provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-glooplatform/blob/main/README.md` |
| providerRBAC.providers.istio | bool | `true` | Adds RBAC rules for the Istio provider | | providerRBAC.providers.istio | bool | `true` | Adds RBAC rules for the Istio provider |
| providerRBAC.providers.smi | bool | `true` | Adds RBAC rules for the SMI provider | | providerRBAC.providers.smi | bool | `true` | Adds RBAC rules for the SMI provider |
@ -82,6 +85,7 @@ For full list of changes please check ArtifactHub [changelog].
| controller.containerPorts.metrics | int | `8090` | Metrics container port | | controller.containerPorts.metrics | int | `8090` | Metrics container port |
| controller.createClusterRole | bool | `true` | flag to enable creation of cluster controller role (requires cluster RBAC) | | controller.createClusterRole | bool | `true` | flag to enable creation of cluster controller role (requires cluster RBAC) |
| controller.deploymentAnnotations | object | `{}` | Annotations to be added to the controller deployment | | controller.deploymentAnnotations | object | `{}` | Annotations to be added to the controller deployment |
| controller.deploymentLabels | object | `{}` | Labels to be added to the controller deployment |
| controller.extraArgs | list | `[]` | Additional command line arguments to pass to rollouts-controller. A list of flags. | | controller.extraArgs | list | `[]` | Additional command line arguments to pass to rollouts-controller. A list of flags. |
| controller.extraContainers | list | `[]` | Literal yaml for extra containers to be added to controller deployment. | | controller.extraContainers | list | `[]` | Literal yaml for extra containers to be added to controller deployment. |
| controller.extraEnv | list | `[]` | Additional environment variables for rollouts-controller. A list of name/value maps. | | controller.extraEnv | list | `[]` | Additional environment variables for rollouts-controller. A list of name/value maps. |
@ -112,6 +116,7 @@ For full list of changes please check ArtifactHub [changelog].
| controller.pdb.maxUnavailable | string | `nil` | Maximum number / percentage of pods that may be made unavailable | | controller.pdb.maxUnavailable | string | `nil` | Maximum number / percentage of pods that may be made unavailable |
| controller.pdb.minAvailable | string | `nil` | Minimum number / percentage of pods that should remain scheduled | | controller.pdb.minAvailable | string | `nil` | Minimum number / percentage of pods that should remain scheduled |
| controller.podAnnotations | object | `{}` | Annotations to be added to application controller pods | | controller.podAnnotations | object | `{}` | Annotations to be added to application controller pods |
| controller.podLabels | object | `{}` | Labels to be added to the application controller pods |
| controller.priorityClassName | string | `""` | [priorityClassName] for the controller | | controller.priorityClassName | string | `""` | [priorityClassName] for the controller |
| controller.readinessProbe | object | See [values.yaml] | Configure readiness [probe] for the controller | | controller.readinessProbe | object | See [values.yaml] | Configure readiness [probe] for the controller |
| controller.replicas | int | `2` | The number of controller pods to run | | controller.replicas | int | `2` | The number of controller pods to run |
@ -138,6 +143,7 @@ For full list of changes please check ArtifactHub [changelog].
| dashboard.containerSecurityContext | object | `{}` | Security Context to set on container level | | dashboard.containerSecurityContext | object | `{}` | Security Context to set on container level |
| dashboard.createClusterRole | bool | `true` | flag to enable creation of dashbord cluster role (requires cluster RBAC) | | dashboard.createClusterRole | bool | `true` | flag to enable creation of dashbord cluster role (requires cluster RBAC) |
| dashboard.deploymentAnnotations | object | `{}` | Annotations to be added to the dashboard deployment | | dashboard.deploymentAnnotations | object | `{}` | Annotations to be added to the dashboard deployment |
| dashboard.deploymentLabels | object | `{}` | Labels to be added to the dashboard deployment |
| dashboard.enabled | bool | `false` | Deploy dashboard server | | dashboard.enabled | bool | `false` | Deploy dashboard server |
| dashboard.extraArgs | list | `[]` | Additional command line arguments to pass to rollouts-dashboard. A list of flags. | | dashboard.extraArgs | list | `[]` | Additional command line arguments to pass to rollouts-dashboard. A list of flags. |
| dashboard.extraEnv | list | `[]` | Additional environment variables for rollouts-dashboard. A list of name/value maps. | | dashboard.extraEnv | list | `[]` | Additional environment variables for rollouts-dashboard. A list of name/value maps. |
@ -163,6 +169,7 @@ For full list of changes please check ArtifactHub [changelog].
| dashboard.pdb.maxUnavailable | string | `nil` | Maximum number / percentage of pods that may be made unavailable | | dashboard.pdb.maxUnavailable | string | `nil` | Maximum number / percentage of pods that may be made unavailable |
| dashboard.pdb.minAvailable | string | `nil` | Minimum number / percentage of pods that should remain scheduled | | dashboard.pdb.minAvailable | string | `nil` | Minimum number / percentage of pods that should remain scheduled |
| dashboard.podAnnotations | object | `{}` | Annotations to be added to application dashboard pods | | dashboard.podAnnotations | object | `{}` | Annotations to be added to application dashboard pods |
| dashboard.podLabels | object | `{}` | Labels to be added to the application dashboard pods |
| dashboard.podSecurityContext | object | `{"runAsNonRoot":true}` | Security Context to set on pod level | | dashboard.podSecurityContext | object | `{"runAsNonRoot":true}` | Security Context to set on pod level |
| dashboard.priorityClassName | string | `""` | [priorityClassName] for the dashboard server | | dashboard.priorityClassName | string | `""` | [priorityClassName] for the dashboard server |
| dashboard.readonly | bool | `false` | Set cluster role to readonly | | dashboard.readonly | bool | `false` | Set cluster role to readonly |

View file

@ -94,11 +94,22 @@ rules:
- "" - ""
resources: resources:
- secrets - secrets
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- configmaps - configmaps
verbs: verbs:
- get - get
- list - list
- watch - watch
{{- if .Values.providerRBAC.providers.gatewayAPI }}
- create
- update
{{- end }}
# pod list/update needed for updating ephemeral data # pod list/update needed for updating ephemeral data
- apiGroups: - apiGroups:
- "" - ""
@ -258,23 +269,42 @@ rules:
{{- if .Values.providerRBAC.providers.contour }} {{- if .Values.providerRBAC.providers.contour }}
# Access needed when using the Contour provider # Access needed when using the Contour provider
- apiGroups: - apiGroups:
- projectcontour.io - projectcontour.io
resources: resources:
- httpproxies - httpproxies
verbs: verbs:
- get - get
- list - list
- watch - watch
- update - update
{{- end }} {{- end }}
{{- if .Values.providerRBAC.providers.glooPlatform }} {{- if .Values.providerRBAC.providers.glooPlatform }}
# Access needed when using the Gloo Platform provider # Access needed when using the Gloo Platform provider
- apiGroups: - apiGroups:
- networking.gloo.solo.io - networking.gloo.solo.io
resources: resources:
- routetables - routetables
verbs: verbs:
- '*' - '*'
{{- end }}
{{- if .Values.providerRBAC.providers.gatewayAPI }}
# Access needed when using the Gateway API provider
- apiGroups:
- gateway.networking.k8s.io
resources:
- httproutes
- tcproutes
- tlsroutes
- udproutes
- grpcroutes
verbs:
- get
- list
- watch
- update
{{- end }}
{{- with .Values.providerRBAC.additionalRules }}
{{ toYaml . }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View file

@ -10,6 +10,9 @@ metadata:
name: {{ include "argo-rollouts.fullname" . }} name: {{ include "argo-rollouts.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ .Release.Namespace | quote }}
labels: labels:
{{- range $key, $value := (mergeOverwrite (deepCopy .Values.global.deploymentLabels) .Values.controller.deploymentLabels) }}
{{ $key }}: {{ $value | quote }}
{{- end }}
app.kubernetes.io/component: {{ .Values.controller.component }} app.kubernetes.io/component: {{ .Values.controller.component }}
{{- include "argo-rollouts.labels" . | nindent 4 }} {{- include "argo-rollouts.labels" . | nindent 4 }}
spec: spec:
@ -31,7 +34,7 @@ spec:
labels: labels:
{{- include "argo-rollouts.selectorLabels" . | nindent 8 }} {{- include "argo-rollouts.selectorLabels" . | nindent 8 }}
app.kubernetes.io/component: {{ .Values.controller.component }} app.kubernetes.io/component: {{ .Values.controller.component }}
{{- range $key, $value := .Values.podLabels }} {{- range $key, $value := (mergeOverwrite (deepCopy .Values.podLabels) .Values.controller.podLabels) }}
{{ $key }}: {{ $value | quote }} {{ $key }}: {{ $value | quote }}
{{- end }} {{- end }}
spec: spec:

View file

@ -95,11 +95,22 @@ rules:
- "" - ""
resources: resources:
- secrets - secrets
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- configmaps - configmaps
verbs: verbs:
- get - get
- list - list
- watch - watch
{{- if .Values.providerRBAC.providers.gatewayAPI }}
- create
- update
{{- end }}
# pod list/update needed for updating ephemeral data # pod list/update needed for updating ephemeral data
- apiGroups: - apiGroups:
- "" - ""
@ -259,11 +270,27 @@ rules:
{{- if .Values.providerRBAC.providers.glooPlatform }} {{- if .Values.providerRBAC.providers.glooPlatform }}
# Access needed when using the Gloo Platform provider # Access needed when using the Gloo Platform provider
- apiGroups: - apiGroups:
- networking.gloo.solo.io - networking.gloo.solo.io
resources: resources:
- routetables - routetables
verbs: verbs:
- '*' - '*'
{{- end }}
{{- if .Values.providerRBAC.providers.gatewayAPI }}
# Access needed when using the Gateway API provider
- apiGroups:
- gateway.networking.k8s.io
resources:
- httproutes
- tcproutes
- tlsroutes
- udproutes
- grpcroutes
verbs:
- get
- list
- watch
- update
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View file

@ -11,6 +11,9 @@ metadata:
name: {{ include "argo-rollouts.fullname" . }}-dashboard name: {{ include "argo-rollouts.fullname" . }}-dashboard
namespace: {{ .Release.Namespace | quote }} namespace: {{ .Release.Namespace | quote }}
labels: labels:
{{- range $key, $value := (mergeOverwrite (deepCopy .Values.global.deploymentLabels) .Values.dashboard.deploymentLabels) }}
{{ $key }}: {{ $value | quote }}
{{- end }}
app.kubernetes.io/component: {{ .Values.dashboard.component }} app.kubernetes.io/component: {{ .Values.dashboard.component }}
{{- include "argo-rollouts.labels" . | nindent 4 }} {{- include "argo-rollouts.labels" . | nindent 4 }}
spec: spec:
@ -32,7 +35,7 @@ spec:
labels: labels:
{{- include "argo-rollouts.selectorLabels" . | nindent 8 }} {{- include "argo-rollouts.selectorLabels" . | nindent 8 }}
app.kubernetes.io/component: {{ .Values.dashboard.component }} app.kubernetes.io/component: {{ .Values.dashboard.component }}
{{- range $key, $value := .Values.podLabels }} {{- range $key, $value := (mergeOverwrite (deepCopy .Values.podLabels) .Values.dashboard.podLabels) }}
{{ $key }}: {{ $value | quote }} {{ $key }}: {{ $value | quote }}
{{- end }} {{- end }}
spec: spec:

View file

@ -41,14 +41,20 @@ extraObjects: []
global: global:
# -- Annotations for all deployed Deployments # -- Annotations for all deployed Deployments
deploymentAnnotations: {} deploymentAnnotations: {}
# -- Labels for all deployed Deployments
deploymentLabels: {}
controller: controller:
# -- Value of label `app.kubernetes.io/component` # -- Value of label `app.kubernetes.io/component`
component: rollouts-controller component: rollouts-controller
# -- Annotations to be added to the controller deployment # -- Annotations to be added to the controller deployment
deploymentAnnotations: {} deploymentAnnotations: {}
# -- Labels to be added to the controller deployment
deploymentLabels: {}
# -- Annotations to be added to application controller pods # -- Annotations to be added to application controller pods
podAnnotations: {} podAnnotations: {}
# -- Labels to be added to the application controller pods
podLabels: {}
# -- [Node selector] # -- [Node selector]
nodeSelector: {} nodeSelector: {}
# -- [Tolerations] for use with node taints # -- [Tolerations] for use with node taints
@ -273,6 +279,10 @@ providerRBAC:
contour: true contour: true
# -- Adds RBAC rules for the Gloo Platform provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-glooplatform/blob/main/README.md` # -- Adds RBAC rules for the Gloo Platform provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-glooplatform/blob/main/README.md`
glooPlatform: true glooPlatform: true
# -- Adds RBAC rules for the Gateway API provider
gatewayAPI: true
# -- Additional RBAC rules for others providers
additionalRules: []
dashboard: dashboard:
# -- Deploy dashboard server # -- Deploy dashboard server
@ -283,8 +293,12 @@ dashboard:
component: rollouts-dashboard component: rollouts-dashboard
# -- Annotations to be added to the dashboard deployment # -- Annotations to be added to the dashboard deployment
deploymentAnnotations: {} deploymentAnnotations: {}
# -- Labels to be added to the dashboard deployment
deploymentLabels: {}
# -- Annotations to be added to application dashboard pods # -- Annotations to be added to application dashboard pods
podAnnotations: {} podAnnotations: {}
# -- Labels to be added to the application dashboard pods
podLabels: {}
# -- [Node selector] # -- [Node selector]
nodeSelector: {} nodeSelector: {}
# -- [Tolerations] for use with node taints # -- [Tolerations] for use with node taints

View file

@ -1,9 +1,9 @@
apiVersion: v2 apiVersion: v2
appVersion: v3.5.4 appVersion: v3.5.6
name: argo-workflows name: argo-workflows
description: A Helm chart for Argo Workflows description: A Helm chart for Argo Workflows
type: application type: application
version: 0.40.10 version: 0.41.4
icon: https://argo-workflows.readthedocs.io/en/stable/assets/logo.png icon: https://argo-workflows.readthedocs.io/en/stable/assets/logo.png
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
sources: sources:
@ -16,5 +16,5 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252 fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: | artifacthub.io/changes: |
- kind: fixed - kind: added
description: Update argo-workflows documentation links to readthedocs description: Added option to add service accounts to RoleBindings

View file

@ -111,6 +111,7 @@ Fields to note:
|-----|------|---------|-------------| |-----|------|---------|-------------|
| apiVersionOverrides.autoscaling | string | `""` | String to override apiVersion of autoscaling rendered by this helm chart | | apiVersionOverrides.autoscaling | string | `""` | String to override apiVersion of autoscaling rendered by this helm chart |
| apiVersionOverrides.cloudgoogle | string | `""` | String to override apiVersion of GKE resources rendered by this helm chart | | apiVersionOverrides.cloudgoogle | string | `""` | String to override apiVersion of GKE resources rendered by this helm chart |
| apiVersionOverrides.monitoring | string | `""` | String to override apiVersion of monitoring CRDs (ServiceMonitor) rendered by this helm chart |
| commonLabels | object | `{}` | Labels to set on all resources | | commonLabels | object | `{}` | Labels to set on all resources |
| crds.annotations | object | `{}` | Annotations to be added to all CRDs | | crds.annotations | object | `{}` | Annotations to be added to all CRDs |
| crds.install | bool | `true` | Install and upgrade CRDs | | crds.install | bool | `true` | Install and upgrade CRDs |
@ -124,6 +125,7 @@ Fields to note:
| images.tag | string | `""` | Common tag for Argo Workflows images. Defaults to `.Chart.AppVersion`. | | images.tag | string | `""` | Common tag for Argo Workflows images. Defaults to `.Chart.AppVersion`. |
| 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 | `nil` | String to partially override "argo-workflows.fullname" template | | nameOverride | string | `nil` | String to partially override "argo-workflows.fullname" template |
| namespaceOverride | string | `.Release.Namespace` | Override the namespace |
| singleNamespace | bool | `false` | Restrict Argo to operate only in a single namespace (the namespace of the Helm release) by apply Roles and RoleBindings instead of the Cluster equivalents, and start workflow-controller with the --namespaced flag. Use it in clusters with strict access policy. | | singleNamespace | bool | `false` | Restrict Argo to operate only in a single namespace (the namespace of the Helm release) by apply Roles and RoleBindings instead of the Cluster equivalents, and start workflow-controller with the --namespaced flag. Use it in clusters with strict access policy. |
### Workflow ### Workflow
@ -132,6 +134,7 @@ Fields to note:
|-----|------|---------|-------------| |-----|------|---------|-------------|
| workflow.namespace | string | `nil` | Deprecated; use controller.workflowNamespaces instead. | | workflow.namespace | string | `nil` | Deprecated; use controller.workflowNamespaces instead. |
| workflow.rbac.create | bool | `true` | Adds Role and RoleBinding for the above specified service account to be able to run workflows. A Role and Rolebinding pair is also created for each namespace in controller.workflowNamespaces (see below) | | workflow.rbac.create | bool | `true` | Adds Role and RoleBinding for the above specified service account to be able to run workflows. A Role and Rolebinding pair is also created for each namespace in controller.workflowNamespaces (see below) |
| workflow.rbac.serviceAccounts | list | `[]` | Extra service accounts to be added to the RoleBinding |
| workflow.serviceAccount.annotations | object | `{}` | Annotations applied to created service account | | workflow.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
| workflow.serviceAccount.create | bool | `false` | Specifies whether a service account should be created | | workflow.serviceAccount.create | bool | `false` | Specifies whether a service account should be created |
| workflow.serviceAccount.labels | object | `{}` | Labels applied to created service account | | workflow.serviceAccount.labels | object | `{}` | Labels applied to created service account |
@ -144,6 +147,7 @@ Fields to note:
|-----|------|---------|-------------| |-----|------|---------|-------------|
| controller.affinity | object | `{}` | Assign custom [affinity] rules | | controller.affinity | object | `{}` | Assign custom [affinity] rules |
| controller.clusterWorkflowTemplates.enabled | bool | `true` | Create a ClusterRole and CRB for the controller to access ClusterWorkflowTemplates. | | controller.clusterWorkflowTemplates.enabled | bool | `true` | Create a ClusterRole and CRB for the controller to access ClusterWorkflowTemplates. |
| controller.clusterWorkflowTemplates.serviceAccounts | list | `[]` | Extra service accounts to be added to the ClusterRoleBinding |
| controller.columns | list | `[]` | Configure Argo Server to show custom [columns] | | controller.columns | list | `[]` | Configure Argo Server to show custom [columns] |
| controller.configMap.create | bool | `true` | Create a ConfigMap for the controller | | controller.configMap.create | bool | `true` | Create a ConfigMap for the controller |
| controller.configMap.name | string | `""` | ConfigMap name | | controller.configMap.name | string | `""` | ConfigMap name |
@ -168,6 +172,7 @@ Fields to note:
| controller.logging.globallevel | string | `"0"` | Set the glog logging level | | controller.logging.globallevel | string | `"0"` | Set the glog logging level |
| controller.logging.level | string | `"info"` | Set the logging level (one of: `debug`, `info`, `warn`, `error`) | | controller.logging.level | string | `"info"` | Set the logging level (one of: `debug`, `info`, `warn`, `error`) |
| controller.metricsConfig.enabled | bool | `false` | Enables prometheus metrics server | | controller.metricsConfig.enabled | bool | `false` | Enables prometheus metrics server |
| controller.metricsConfig.headlessService | bool | `false` | Flag to enable headless service |
| controller.metricsConfig.ignoreErrors | bool | `false` | Flag that instructs prometheus to ignore metric emission errors. | | controller.metricsConfig.ignoreErrors | bool | `false` | Flag that instructs prometheus to ignore metric emission errors. |
| controller.metricsConfig.metricRelabelings | list | `[]` | ServiceMonitor metric relabel configs to apply to samples before ingestion | | controller.metricsConfig.metricRelabelings | list | `[]` | ServiceMonitor metric relabel configs to apply to samples before ingestion |
| controller.metricsConfig.metricsTTL | string | `""` | How often custom metrics are cleared from memory | | controller.metricsConfig.metricsTTL | string | `""` | How often custom metrics are cleared from memory |
@ -336,7 +341,7 @@ Fields to note:
| server.sso.issuerAlias | string | `""` | Alternate root URLs that can be included for some OIDC providers | | server.sso.issuerAlias | string | `""` | Alternate root URLs that can be included for some OIDC providers |
| server.sso.rbac.enabled | bool | `true` | Adds ServiceAccount Policy to server (Cluster)Role. | | server.sso.rbac.enabled | bool | `true` | Adds ServiceAccount Policy to server (Cluster)Role. |
| server.sso.rbac.secretWhitelist | list | `[]` | Whitelist to allow server to fetch Secrets | | server.sso.rbac.secretWhitelist | list | `[]` | Whitelist to allow server to fetch Secrets |
| server.sso.redirectUrl | string | `""` | | | server.sso.redirectUrl | string | `""` | The OIDC redirect URL. Should be in the form <argo-root-url>/oauth2/callback. |
| server.sso.scopes | list | `[]` | Scopes requested from the SSO ID provider | | server.sso.scopes | list | `[]` | Scopes requested from the SSO ID provider |
| server.sso.sessionExpiry | string | `""` | Define how long your login is valid for (in hours) | | server.sso.sessionExpiry | string | `""` | Define how long your login is valid for (in hours) |
| server.sso.userInfoPath | string | `""` | Specify the user info endpoint that contains the groups claim | | server.sso.userInfoPath | string | `""` | Specify the user info endpoint that contains the groups claim |

View file

@ -189,3 +189,22 @@ Return the appropriate apiVersion for GKE resources
{{- print "cloud.google.com/v1beta1" -}} {{- print "cloud.google.com/v1beta1" -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{/*
Return the appropriate apiVersion for monitoring CRDs
*/}}
{{- define "argo-workflows.apiVersions.monitoring" -}}
{{- if .Values.apiVersionOverrides.monitoring -}}
{{- print .Values.apiVersionOverrides.monitoring -}}
{{- else -}}
{{- print "monitoring.coreos.com/v1" -}}
{{- end -}}
{{- end -}}
{{/*
Expand the namespace of the release.
Allows overriding it for multi-namespace deployments in combined charts.
*/}}
{{- define "argo-workflows.namespace" -}}
{{- default .Release.Namespace .Values.namespaceOverride | trunc 63 | trimSuffix "-" -}}
{{- end }}

View file

@ -4,7 +4,7 @@ apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: {{ $cm_name }} name: {{ $cm_name }}
namespace: {{ $.Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" $ | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" $ "component" $.Values.controller.name "name" $cm_name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" $ "component" $.Values.controller.name "name" $cm_name) | nindent 4 }}
{{- with $cm_val.annotations }} {{- with $cm_val.annotations }}

View file

@ -8,7 +8,7 @@ kind: ClusterRole
metadata: metadata:
name: {{ template "argo-workflows.controller.fullname" . }} name: {{ template "argo-workflows.controller.fullname" . }}
{{- if .Values.singleNamespace }} {{- if .Values.singleNamespace }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
{{- end }} {{- end }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: {{ template "argo-workflows.controller.config-map.name" . }} name: {{ template "argo-workflows.controller.config-map.name" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" "cm") | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" "cm") | nindent 4 }}
data: data:
@ -83,6 +83,11 @@ data:
bucket: {{ tpl (.Values.artifactRepository.s3.bucket | default "") . }} bucket: {{ tpl (.Values.artifactRepository.s3.bucket | default "") . }}
endpoint: {{ tpl (.Values.artifactRepository.s3.endpoint | default "") . }} endpoint: {{ tpl (.Values.artifactRepository.s3.endpoint | default "") . }}
insecure: {{ .Values.artifactRepository.s3.insecure }} insecure: {{ .Values.artifactRepository.s3.insecure }}
{{- if .Values.artifactRepository.s3.caSecret }}
caSecret:
name: {{ tpl .Values.artifactRepository.s3.caSecret.name . }}
key: {{ tpl .Values.artifactRepository.s3.caSecret.key . }}
{{- end }}
{{- if .Values.artifactRepository.s3.keyFormat }} {{- if .Values.artifactRepository.s3.keyFormat }}
keyFormat: {{ .Values.artifactRepository.s3.keyFormat | quote }} keyFormat: {{ .Values.artifactRepository.s3.keyFormat | quote }}
{{- end }} {{- end }}

View file

@ -8,7 +8,7 @@ kind: ClusterRoleBinding
metadata: metadata:
name: {{ template "argo-workflows.controller.fullname" . }} name: {{ template "argo-workflows.controller.fullname" . }}
{{- if .Values.singleNamespace }} {{- if .Values.singleNamespace }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
{{- end }} {{- end }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
@ -23,7 +23,7 @@ roleRef:
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "argo-workflows.controllerServiceAccountName" . }} name: {{ template "argo-workflows.controllerServiceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
{{- if .Values.controller.clusterWorkflowTemplates.enabled }} {{- if .Values.controller.clusterWorkflowTemplates.enabled }}
--- ---
@ -40,6 +40,11 @@ roleRef:
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "argo-workflows.controllerServiceAccountName" . }} name: {{ template "argo-workflows.controllerServiceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
{{- range .Values.controller.clusterWorkflowTemplates.serviceAccounts }}
- kind: ServiceAccount
name: {{ .name }}
namespace: {{ .namespace | quote }}
{{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View file

@ -3,7 +3,7 @@ apiVersion: policy/v1
kind: PodDisruptionBudget kind: PodDisruptionBudget
metadata: metadata:
name: {{ template "argo-workflows.controller.fullname" . }} name: {{ template "argo-workflows.controller.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
spec: spec:

View file

@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ template "argo-workflows.controller.fullname" . }} name: {{ template "argo-workflows.controller.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
app.kubernetes.io/version: {{ include "argo-workflows.controller_chart_version_label" . }} app.kubernetes.io/version: {{ include "argo-workflows.controller_chart_version_label" . }}
@ -89,6 +89,10 @@ spec:
fieldRef: fieldRef:
apiVersion: v1 apiVersion: v1
fieldPath: metadata.name fieldPath: metadata.name
{{- if eq (int .Values.controller.replicas) 1 }}
- name: LEADER_ELECTION_DISABLE
value: "true"
{{- end }}
{{- with .Values.controller.extraEnv }} {{- with .Values.controller.extraEnv }}
{{- toYaml . | nindent 12 }} {{- toYaml . | nindent 12 }}
{{- end }} {{- end }}

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: {{ template "argo-workflows.controllerServiceAccountName" . }} name: {{ template "argo-workflows.controllerServiceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
{{- with .Values.controller.serviceAccount.labels }} {{- with .Values.controller.serviceAccount.labels }}

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ template "argo-workflows.controller.fullname" . }} name: {{ template "argo-workflows.controller.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
app.kubernetes.io/version: {{ include "argo-workflows.controller_chart_version_label" . }} app.kubernetes.io/version: {{ include "argo-workflows.controller_chart_version_label" . }}
@ -32,6 +32,9 @@ spec:
{{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.controller.name) | nindent 4 }} {{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.controller.name) | nindent 4 }}
sessionAffinity: None sessionAffinity: None
type: {{ .Values.controller.serviceType }} type: {{ .Values.controller.serviceType }}
{{- if and (eq .Values.controller.serviceType "ClusterIP") .Values.controller.metricsConfig.headlessService }}
clusterIP: None
{{- end }}
{{- if and (eq .Values.controller.serviceType "LoadBalancer") .Values.controller.loadBalancerSourceRanges }} {{- if and (eq .Values.controller.serviceType "LoadBalancer") .Values.controller.loadBalancerSourceRanges }}
loadBalancerSourceRanges: loadBalancerSourceRanges:
{{- toYaml .Values.controller.loadBalancerSourceRanges | nindent 4 }} {{- toYaml .Values.controller.loadBalancerSourceRanges | nindent 4 }}

View file

@ -1,9 +1,10 @@
{{- if and (or .Values.controller.metricsConfig.enabled .Values.controller.telemetryConfig.enabled) .Values.controller.serviceMonitor.enabled }} {{- $apiVersion := include "argo-workflows.apiVersions.monitoring" . }}
apiVersion: monitoring.coreos.com/v1 {{- if and (.Capabilities.APIVersions.Has $apiVersion) (or .Values.controller.metricsConfig.enabled .Values.controller.telemetryConfig.enabled) .Values.controller.serviceMonitor.enabled }}
apiVersion: {{ $apiVersion }}
kind: ServiceMonitor kind: ServiceMonitor
metadata: metadata:
name: {{ template "argo-workflows.controller.fullname" . }} name: {{ template "argo-workflows.controller.fullname" . }}
namespace: {{ default .Release.Namespace .Values.controller.serviceMonitor.namespace | quote }} namespace: {{ default (include "argo-workflows.namespace" .) .Values.controller.serviceMonitor.namespace | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
{{- with .Values.controller.serviceMonitor.additionalLabels }} {{- with .Values.controller.serviceMonitor.additionalLabels }}
@ -43,7 +44,7 @@ spec:
{{- end }} {{- end }}
namespaceSelector: namespaceSelector:
matchNames: matchNames:
- {{ .Release.Namespace | quote }} - {{ include "argo-workflows.namespace" . | quote }}
selector: selector:
matchLabels: matchLabels:
{{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.controller.name) | nindent 6 }} {{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.controller.name) | nindent 6 }}

View file

@ -1,5 +1,5 @@
{{- if .Values.workflow.rbac.create -}} {{- if .Values.workflow.rbac.create -}}
{{- range $namespace := or .Values.singleNamespace false | ternary (list "") (append .Values.controller.workflowNamespaces (coalesce .Values.workflow.namespace .Release.Namespace) | uniq) }} {{- range $namespace := or .Values.singleNamespace false | ternary (list "") (append .Values.controller.workflowNamespaces (coalesce .Values.workflow.namespace (include "argo-workflows.namespace" .)) | uniq) }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding kind: RoleBinding
@ -17,8 +17,11 @@ roleRef:
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ $.Values.workflow.serviceAccount.name }} name: {{ $.Values.workflow.serviceAccount.name }}
{{- with $namespace }} namespace: {{ $namespace }}
namespace: {{ . }} {{- range $.Values.workflow.rbac.serviceAccounts }}
{{- end }} - kind: ServiceAccount
name: {{ .name }}
namespace: {{ .namespace | quote }}
{{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View file

@ -1,5 +1,5 @@
{{- if .Values.workflow.rbac.create -}} {{- if .Values.workflow.rbac.create -}}
{{- range $namespace := or .Values.singleNamespace false | ternary (list "") (append .Values.controller.workflowNamespaces (coalesce .Values.workflow.namespace .Release.Namespace) | uniq) }} {{- range $namespace := or .Values.singleNamespace false | ternary (list "") (append .Values.controller.workflowNamespaces (coalesce .Values.workflow.namespace (include "argo-workflows.namespace" .)) | uniq) }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: Role kind: Role

View file

@ -1,5 +1,5 @@
{{- if .Values.workflow.serviceAccount.create -}} {{- if .Values.workflow.serviceAccount.create -}}
{{- range $namespace := or .Values.singleNamespace false | ternary (list "") (append .Values.controller.workflowNamespaces (coalesce .Values.workflow.namespace .Release.Namespace) | uniq) }} {{- range $namespace := or .Values.singleNamespace false | ternary (list "") (append .Values.controller.workflowNamespaces (coalesce .Values.workflow.namespace (include "argo-workflows.namespace" .)) | uniq) }}
--- ---
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount

View file

@ -3,7 +3,7 @@ apiVersion: {{ include "argo-workflows.apiVersions.cloudgoogle" . }}
kind: BackendConfig kind: BackendConfig
metadata: metadata:
name: {{ template "argo-workflows.server.fullname" . }} name: {{ template "argo-workflows.server.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
spec: spec:

View file

@ -3,7 +3,7 @@ apiVersion: networking.gke.io/v1beta1
kind: FrontendConfig kind: FrontendConfig
metadata: metadata:
name: {{ template "argo-workflows.server.fullname" . }} name: {{ template "argo-workflows.server.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
spec: spec:

View file

@ -3,7 +3,7 @@ apiVersion: networking.gke.io/v1
kind: ManagedCertificate kind: ManagedCertificate
metadata: metadata:
name: {{ template "argo-workflows.server.fullname" . }} name: {{ template "argo-workflows.server.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
spec: spec:
domains: domains:
{{- with .Values.server.GKEmanagedCertificate.domains }} {{- with .Values.server.GKEmanagedCertificate.domains }}

View file

@ -8,7 +8,7 @@ kind: ClusterRole
metadata: metadata:
name: {{ template "argo-workflows.server.fullname" . }} name: {{ template "argo-workflows.server.fullname" . }}
{{- if .Values.singleNamespace }} {{- if .Values.singleNamespace }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
{{- end }} {{- end }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}

View file

@ -8,7 +8,7 @@ kind: ClusterRoleBinding
metadata: metadata:
name: {{ template "argo-workflows.server.fullname" . }} name: {{ template "argo-workflows.server.fullname" . }}
{{- if .Values.singleNamespace }} {{- if .Values.singleNamespace }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
{{- end }} {{- end }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
@ -23,7 +23,7 @@ roleRef:
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "argo-workflows.serverServiceAccountName" . }} name: {{ template "argo-workflows.serverServiceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
{{- if .Values.server.clusterWorkflowTemplates.enabled }} {{- if .Values.server.clusterWorkflowTemplates.enabled }}
--- ---
@ -40,6 +40,6 @@ roleRef:
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ template "argo-workflows.serverServiceAccountName" . }} name: {{ template "argo-workflows.serverServiceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}

View file

@ -3,7 +3,7 @@ apiVersion: {{ include "argo-workflows.apiVersion.autoscaling" . }}
kind: HorizontalPodAutoscaler kind: HorizontalPodAutoscaler
metadata: metadata:
name: {{ template "argo-workflows.server.fullname" . }} name: {{ template "argo-workflows.server.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
spec: spec:

View file

@ -3,7 +3,7 @@ apiVersion: policy/v1
kind: PodDisruptionBudget kind: PodDisruptionBudget
metadata: metadata:
name: {{ template "argo-workflows.server.fullname" . }} name: {{ template "argo-workflows.server.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
spec: spec:

View file

@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ template "argo-workflows.server.fullname" . }} name: {{ template "argo-workflows.server.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
app.kubernetes.io/version: {{ include "argo-workflows.server_chart_version_label" . }} app.kubernetes.io/version: {{ include "argo-workflows.server_chart_version_label" . }}

View file

@ -14,7 +14,7 @@ metadata:
{{- end }} {{- end }}
{{- end }} {{- end }}
name: {{ template "argo-workflows.server.fullname" . }} name: {{ template "argo-workflows.server.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
{{- if .Values.server.ingress.labels }} {{- if .Values.server.ingress.labels }}

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: {{ template "argo-workflows.serverServiceAccountName" . }} name: {{ template "argo-workflows.serverServiceAccountName" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
{{- with .Values.server.serviceAccount.labels }} {{- with .Values.server.serviceAccount.labels }}

View file

@ -3,7 +3,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: {{ template "argo-workflows.server.fullname" . }} name: {{ template "argo-workflows.server.fullname" . }}
namespace: {{ .Release.Namespace | quote }} namespace: {{ include "argo-workflows.namespace" . | quote }}
labels: labels:
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }} {{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
app.kubernetes.io/version: {{ include "argo-workflows.server_chart_version_label" . }} app.kubernetes.io/version: {{ include "argo-workflows.server_chart_version_label" . }}

View file

@ -26,6 +26,10 @@ nameOverride:
# -- String to fully override "argo-workflows.fullname" template # -- String to fully override "argo-workflows.fullname" template
fullnameOverride: fullnameOverride:
# -- Override the namespace
# @default -- `.Release.Namespace`
namespaceOverride: ""
# -- Labels to set on all resources # -- Labels to set on all resources
commonLabels: {} commonLabels: {}
@ -38,6 +42,8 @@ apiVersionOverrides:
autoscaling: "" # autoscaling/v2 autoscaling: "" # autoscaling/v2
# -- String to override apiVersion of GKE resources rendered by this helm chart # -- String to override apiVersion of GKE resources rendered by this helm chart
cloudgoogle: "" # cloud.google.com/v1 cloudgoogle: "" # cloud.google.com/v1
# -- String to override apiVersion of monitoring CRDs (ServiceMonitor) rendered by this helm chart
monitoring: "" # monitoring.coreos.com/v1
# -- Restrict Argo to operate only in a single namespace (the namespace of the # -- Restrict Argo to operate only in a single namespace (the namespace of the
# Helm release) by apply Roles and RoleBindings instead of the Cluster # Helm release) by apply Roles and RoleBindings instead of the Cluster
@ -63,6 +69,10 @@ workflow:
# -- Adds Role and RoleBinding for the above specified service account to be able to run workflows. # -- Adds Role and RoleBinding for the above specified service account to be able to run workflows.
# A Role and Rolebinding pair is also created for each namespace in controller.workflowNamespaces (see below) # A Role and Rolebinding pair is also created for each namespace in controller.workflowNamespaces (see below)
create: true create: true
# -- Extra service accounts to be added to the RoleBinding
serviceAccounts: []
# - name: my-service-account
# namespace: my-namespace
controller: controller:
image: image:
@ -129,6 +139,8 @@ controller:
servicePort: 8080 servicePort: 8080
# -- Service metrics port name # -- Service metrics port name
servicePortName: metrics servicePortName: metrics
# -- Flag to enable headless service
headlessService: false
# -- ServiceMonitor relabel configs to apply to samples before scraping # -- ServiceMonitor relabel configs to apply to samples before scraping
## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig ## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
relabelings: [] relabelings: []
@ -353,6 +365,10 @@ controller:
clusterWorkflowTemplates: clusterWorkflowTemplates:
# -- Create a ClusterRole and CRB for the controller to access ClusterWorkflowTemplates. # -- Create a ClusterRole and CRB for the controller to access ClusterWorkflowTemplates.
enabled: true enabled: true
# -- Extra service accounts to be added to the ClusterRoleBinding
serviceAccounts: []
# - name: my-service-account
# namespace: my-namespace
# -- Extra containers to be added to the controller deployment # -- Extra containers to be added to the controller deployment
extraContainers: [] extraContainers: []
@ -692,7 +708,7 @@ server:
name: argo-server-sso name: argo-server-sso
# -- Key of a secret to retrieve the app OIDC client secret # -- Key of a secret to retrieve the app OIDC client secret
key: client-secret key: client-secret
# - The OIDC redirect URL. Should be in the form <argo-root-url>/oauth2/callback. # -- The OIDC redirect URL. Should be in the form <argo-root-url>/oauth2/callback.
redirectUrl: "" redirectUrl: ""
rbac: rbac:
# -- Adds ServiceAccount Policy to server (Cluster)Role. # -- Adds ServiceAccount Policy to server (Cluster)Role.
@ -775,6 +791,9 @@ artifactRepository:
# key: secretkey # key: secretkey
# # insecure will disable TLS. Primarily used for minio installs not configured with TLS # # insecure will disable TLS. Primarily used for minio installs not configured with TLS
# insecure: false # insecure: false
# caSecret:
# name: ca-root
# key: cert.pem
# bucket: # bucket:
# endpoint: # endpoint:
# region: # region:

View file

@ -2,7 +2,7 @@ apiVersion: v2
name: argocd-apps name: argocd-apps
description: A Helm chart for managing additional Argo CD Applications and Projects description: A Helm chart for managing additional Argo CD Applications and Projects
type: application type: application
version: 1.6.1 version: 2.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:
@ -17,5 +17,5 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252 fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: | artifacthub.io/changes: |
- kind: fixed - kind: added
description: move ignoreApplicationDifferences block up a level to fix render description: make the chart use maps instead of lists

View file

@ -28,11 +28,11 @@ $ helm install my-release argo/argocd-apps
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| applications | list | `[]` (See [values.yaml]) | Deploy Argo CD Applications within this helm release | | applications | object | `{}` (See [values.yaml]) | Deploy Argo CD Applications within this helm release |
| applicationsets | list | `[]` (See [values.yaml]) | Deploy Argo CD ApplicationSets within this helm release | | applicationsets | object | `{}` (See [values.yaml]) | Deploy Argo CD ApplicationSets within this helm release |
| extensions | list | `[]` (See [values.yaml]) | DEPRECATED - Please refer [Deprecation Notice](https://github.com/argoproj-labs/argocd-extensions?tab=readme-ov-file#deprecation-notice) for more info. | | extensions | object | `{}` (See [values.yaml]) | DEPRECATED - Please refer [Deprecation Notice](https://github.com/argoproj-labs/argocd-extensions?tab=readme-ov-file#deprecation-notice) for more info. |
| itemTemplates | list | `[]` (See [values.yaml]) | Deploy Argo CD Applications/ApplicationSets/Projects within this helm release | | itemTemplates | list | `[]` (See [values.yaml]) | Deploy Argo CD Applications/ApplicationSets/Projects within this helm release |
| projects | list | `[]` (See [values.yaml]) | Deploy Argo CD Projects within this helm release | | projects | object | `{}` (See [values.yaml]) | Deploy Argo CD Projects within this helm release |
---------------------------------------------- ----------------------------------------------
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)

View file

@ -1,28 +1,28 @@
# Test with multi-source applications # Test with multi-source applications
applications: applications:
- name: argocd-application-multiple-sources argocd-application-multiple-sources:
additionalLabels: {} additionalLabels: {}
additionalAnnotations: {} additionalAnnotations: {}
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
project: default project: default
sources: sources:
- chart: elasticsearch - chart: elasticsearch
repoURL: https://helm.elastic.co repoURL: https://helm.elastic.co
targetRevision: 8.5.1 targetRevision: 8.5.1
- repoURL: https://github.com/argoproj/argocd-example-apps.git - repoURL: https://github.com/argoproj/argocd-example-apps.git
path: guestbook path: guestbook
targetRevision: HEAD targetRevision: HEAD
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: default namespace: default
syncPolicy: syncPolicy:
automated: automated:
prune: false prune: false
selfHeal: false selfHeal: false
ignoreDifferences: ignoreDifferences:
- group: apps - group: apps
kind: Deployment kind: Deployment
jsonPointers: jsonPointers:
- /spec/replicas - /spec/replicas

View file

@ -1,33 +1,33 @@
# Test with applications # Test with applications
applications: applications:
- name: argocd-application argocd-application:
additionalLabels: {} additionalLabels: {}
additionalAnnotations: {} additionalAnnotations: {}
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
project: default project: default
source: source:
repoURL: https://github.com/argoproj/argocd-example-apps.git repoURL: https://github.com/argoproj/argocd-example-apps.git
targetRevision: HEAD targetRevision: HEAD
path: guestbook path: guestbook
directory: directory:
recurse: true recurse: true
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: default namespace: default
syncPolicy: syncPolicy:
automated: automated:
prune: false prune: false
selfHeal: false selfHeal: false
syncOptions: syncOptions:
- ApplyOutOfSyncOnly=true - ApplyOutOfSyncOnly=true
revisionHistoryLimit: null revisionHistoryLimit: null
ignoreDifferences: ignoreDifferences:
- group: apps - group: apps
kind: Deployment kind: Deployment
jsonPointers: jsonPointers:
- /spec/replicas - /spec/replicas
info: info:
- name: url - name: url
value: https://argoproj.github.io/ value: https://argoproj.github.io/

View file

@ -1,24 +1,24 @@
# Test with multi-source applicationsets # Test with multi-source applicationsets
applicationsets: applicationsets:
- name: applicationset-multiple-sources applicationset-multiple-sources:
generators: generators:
- list: - list:
elements: elements:
- cluster: default-cluster - cluster: default-cluster
url: https://kubernetes.default.svc url: https://kubernetes.default.svc
template: template:
metadata: metadata:
name: '{{cluster}}-guestbook' name: '{{cluster}}-guestbook'
spec: spec:
project: default project: default
sources: sources:
- chart: elasticsearch - chart: elasticsearch
repoURL: https://helm.elastic.co repoURL: https://helm.elastic.co
targetRevision: 8.5.1 targetRevision: 8.5.1
- repoURL: https://github.com/argoproj/argocd-example-apps.git - repoURL: https://github.com/argoproj/argocd-example-apps.git
path: guestbook path: guestbook
targetRevision: HEAD targetRevision: HEAD
destination: destination:
server: '{{url}}' server: '{{url}}'
namespace: default namespace: default

View file

@ -1,41 +1,41 @@
# Test applicationsets with Progressive Syncs # Test applicationsets with Progressive Syncs
applicationsets: applicationsets:
- name: applicationset-progressive-syncs applicationset-progressive-syncs:
generators: generators:
- list: - list:
elements: elements:
- cluster: engineering-dev - cluster: engineering-dev
url: https://1.2.3.4 url: https://1.2.3.4
env: env-dev env: env-dev
- cluster: engineering-prod - cluster: engineering-prod
url: https://9.8.7.6/ url: https://9.8.7.6/
env: env-prod env: env-prod
strategy: strategy:
type: RollingSync type: RollingSync
rollingSync: rollingSync:
steps: steps:
- matchExpressions: - matchExpressions:
- key: envLabel - key: envLabel
operator: In operator: In
values: values:
- env-dev - env-dev
- matchExpressions: - matchExpressions:
- key: envLabel - key: envLabel
operator: In operator: In
values: values:
- env-prod - env-prod
template: template:
metadata: metadata:
name: '{{.cluster}}-guestbook' name: '{{.cluster}}-guestbook'
labels: labels:
envLabel: '{{.env}}' envLabel: '{{.env}}'
spec: spec:
project: my-project project: my-project
source: source:
repoURL: https://github.com/argoproj/argocd-example-apps.git repoURL: https://github.com/argoproj/argocd-example-apps.git
targetRevision: HEAD targetRevision: HEAD
path: guestbook/{{.cluster}} path: guestbook/{{.cluster}}
destination: destination:
server: '{{.url}}' server: '{{.url}}'
namespace: guestbook namespace: guestbook

View file

@ -1,77 +1,90 @@
# Test with applicationsets # Test with applicationsets
applicationsets: applicationsets:
- name: applicationset applicationset:
additionalLabels: {} additionalLabels: {}
additionalAnnotations: {} additionalAnnotations: {}
# See PR #10026 (ArgoCD v2.5 or later) # See PR #10026 (ArgoCD v2.5 or later)
# goTemplate: false # goTemplate: false
generators: generators:
- git: - git:
repoURL: https://github.com/argoproj/argocd-example-apps.git
revision: HEAD
directories:
- path: guestbook
- path: kustomize-*
# Ref https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Controlling-Resource-Modification/#allow-temporarily-toggling-auto-sync
ignoreApplicationDifferences:
- jsonPointers:
- /spec/syncPolicy
template:
metadata:
name: '{{path.basename}}'
labels: {}
annotations: {}
spec:
project: default
source:
repoURL: https://github.com/argoproj/argocd-example-apps.git repoURL: https://github.com/argoproj/argocd-example-apps.git
targetRevision: HEAD revision: HEAD
path: '{{path}}' directories:
destination: - path: guestbook
server: https://kubernetes.default.svc - path: kustomize-*
namespace: default # Ref https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Controlling-Resource-Modification/#allow-temporarily-toggling-auto-sync
syncPolicy: ignoreApplicationDifferences:
automated: - jsonPointers:
prune: false - /spec/syncPolicy
selfHeal: false template:
ignoreDifferences: metadata:
- group: apps name: '{{path.basename}}'
kind: Deployment labels: {}
jsonPointers: annotations: {}
- /spec/replicas spec:
info: project: default
- name: url source:
value: https://argoproj.github.io/ repoURL: https://github.com/argoproj/argocd-example-apps.git
syncPolicy: targetRevision: HEAD
# Set Application finalizer path: '{{path}}'
preserveResourcesOnDeletion: false destination:
- name: applicationset-list-generator server: https://kubernetes.default.svc
generators: namespace: default
- list: syncPolicy:
elements: automated:
- cluster: engineering-dev prune: false
url: https://kubernetes.default.svc selfHeal: false
template: ignoreDifferences:
metadata: {} - group: apps
spec: kind: Deployment
project: '{{cluster}}' jsonPointers:
source: - /spec/replicas
targetRevision: HEAD info:
repoURL: https://github.com/argoproj/argo-cd.git - name: url
# New path value is generated here: value: https://argoproj.github.io/
path: 'applicationset/examples/template-override/{{cluster}}-override' syncPolicy:
destination: {} # Set Application finalizer
template: preserveResourcesOnDeletion: false
metadata: templatePatch: |
name: '{{cluster}}-guestbook' spec:
spec: source:
project: '{{cluster}}' helm:
source: valueFiles:
repoURL: https://github.com/argoproj/argo-cd.git {{- range $valueFile := .valueFiles }}
targetRevision: HEAD - {{ $valueFile }}
# This 'default' value is not used: it is is replaced by the generator's template path, above {{- end }}
path: applicationset/examples/template-override/default {{- if .autoSync }}
destination: syncPolicy:
server: '{{url}}' automated:
namespace: guestbook prune: {{ .prune }}
{{- end }}
applicationset-list-generator:
generators:
- list:
elements:
- cluster: engineering-dev
url: https://kubernetes.default.svc
template:
metadata: {}
spec:
project: '{{cluster}}'
source:
targetRevision: HEAD
repoURL: https://github.com/argoproj/argo-cd.git
# New path value is generated here:
path: 'applicationset/examples/template-override/{{cluster}}-override'
destination: {}
template:
metadata:
name: '{{cluster}}-guestbook'
spec:
project: '{{cluster}}'
source:
repoURL: https://github.com/argoproj/argo-cd.git
targetRevision: HEAD
# This 'default' value is not used: it is is replaced by the generator's template path, above
path: applicationset/examples/template-override/default
destination:
server: '{{url}}'
namespace: guestbook

View file

@ -1,50 +1,50 @@
{{- range .Values.applications }} {{- range $appName, $appData:= .Values.applications }}
--- ---
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: Application kind: Application
metadata: metadata:
{{- with .additionalAnnotations }} {{- with $appData.additionalAnnotations }}
annotations: annotations:
{{- range $key, $value := . }} {{- range $key, $value := . }}
{{ $key }}: {{ $value | quote }} {{ $key }}: {{ $value | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- with .additionalLabels }} {{- with $appData.additionalLabels }}
labels: labels:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
name: {{ .name }} name: {{ $appName }}
{{- with .namespace }} {{- with $appData.namespace }}
namespace: {{ . }} namespace: {{ . }}
{{- end }} {{- end }}
{{- with .finalizers }} {{- with $appData.finalizers }}
finalizers: finalizers:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
spec: spec:
project: {{ tpl .project $ }} project: {{ tpl $appData.project $ }}
{{- with .source }} {{- with $appData.source }}
source: source:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- with .sources }} {{- with $appData.sources }}
sources: sources:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
destination: destination:
{{- toYaml .destination | nindent 4 }} {{- toYaml $appData.destination | nindent 4 }}
{{- with .syncPolicy }} {{- with $appData.syncPolicy }}
syncPolicy: syncPolicy:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- with .revisionHistoryLimit }} {{- with $appData.revisionHistoryLimit }}
revisionHistoryLimit: {{ . }} revisionHistoryLimit: {{ . }}
{{- end }} {{- end }}
{{- with .ignoreDifferences }} {{- with $appData.ignoreDifferences }}
ignoreDifferences: ignoreDifferences:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- with .info }} {{- with $appData.info }}
info: info:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}

View file

@ -1,44 +1,43 @@
{{- range $appSetName, $appSetData:= .Values.applicationsets }}
{{- range .Values.applicationsets }}
--- ---
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet kind: ApplicationSet
metadata: metadata:
{{- with .additionalAnnotations }} {{- with $appSetData.additionalAnnotations }}
annotations: annotations:
{{- range $key, $value := . }} {{- range $key, $value := . }}
{{ $key }}: {{ $value | quote }} {{ $key }}: {{ $value | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- with .additionalLabels }} {{- with $appSetData.additionalLabels }}
labels: labels:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
name: {{ .name }} name: {{ $appSetName }}
{{- with .namespace }} {{- with $appSetData.namespace }}
namespace: {{ . }} namespace: {{ . }}
{{- end }} {{- end }}
spec: spec:
{{- if hasKey . "goTemplate" }} {{- if hasKey $appSetData "goTemplate" }}
goTemplate: {{ .goTemplate }} goTemplate: {{ $appSetData.goTemplate }}
{{- end }} {{- end }}
{{- with .generators }} {{- with $appSetData.generators }}
generators: generators:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- with .ignoreApplicationDifferences }} {{- with $appSetData.ignoreApplicationDifferences }}
ignoreApplicationDifferences: ignoreApplicationDifferences:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- with .strategy }} {{- with $appSetData.strategy }}
strategy: strategy:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- with .syncPolicy }} {{- with $appSetData.syncPolicy }}
syncPolicy: syncPolicy:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- with .template }} {{- with $appSetData.template }}
template: template:
{{- with .metadata }} {{- with .metadata }}
metadata: metadata:
@ -84,4 +83,8 @@ spec:
{{- end }} {{- end }}
{{- end -}} {{- end -}}
{{- end }} {{- end }}
{{- with $appSetData.templatePatch }}
templatePatch: |
{{- . | nindent 4 }}
{{- end }}
{{- end }} {{- end }}

Some files were not shown because too many files have changed in this diff Show more