Merge branch 'main' into main
Signed-off-by: Marco Maurer (-Kilchhofer) <mkilchhofer@users.noreply.github.com>
This commit is contained in:
commit
8654700a0b
32 changed files with 486 additions and 51 deletions
4
.github/workflows/lint-and-test.yml
vendored
4
.github/workflows/lint-and-test.yml
vendored
|
@ -13,7 +13,7 @@ jobs:
|
||||||
options: --user 1001
|
options: --user 1001
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
|
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
|
||||||
- name: Run ah lint
|
- name: Run ah lint
|
||||||
working-directory: ./charts
|
working-directory: ./charts
|
||||||
run: ah lint
|
run: ah lint
|
||||||
|
@ -22,7 +22,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
|
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
|
2
.github/workflows/publish.yml
vendored
2
.github/workflows/publish.yml
vendored
|
@ -19,7 +19,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
|
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
|
4
.github/workflows/scorecard.yml
vendored
4
.github/workflows/scorecard.yml
vendored
|
@ -33,7 +33,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout code"
|
- name: "Checkout code"
|
||||||
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
|
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
|
@ -68,6 +68,6 @@ jobs:
|
||||||
|
|
||||||
# Upload the results to GitHub's code scanning dashboard.
|
# Upload the results to GitHub's code scanning dashboard.
|
||||||
- name: "Upload to code-scanning"
|
- name: "Upload to code-scanning"
|
||||||
uses: github/codeql-action/upload-sarif@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.13.4
|
uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
|
||||||
with:
|
with:
|
||||||
sarif_file: results.sarif
|
sarif_file: results.sarif
|
||||||
|
|
60
README.md
60
README.md
|
@ -42,3 +42,63 @@ Please refer to [SECURITY.md](SECURITY.md) for details on how to report security
|
||||||
### Changelog
|
### Changelog
|
||||||
|
|
||||||
Releases are managed independently for each helm chart, and changelogs are tracked on each release. Read more about this process [here](https://github.com/argoproj/argo-helm/blob/main/CONTRIBUTING.md#changelog).
|
Releases are managed independently for each helm chart, and changelogs are tracked on each release. Read more about this process [here](https://github.com/argoproj/argo-helm/blob/main/CONTRIBUTING.md#changelog).
|
||||||
|
|
||||||
|
## Charts use Helm "Capabilities"
|
||||||
|
|
||||||
|
Our charts make use of the Helm built-in object "Capabilities":
|
||||||
|
> This provides information about what capabilities the Kubernetes cluster supports.
|
||||||
|
> *Source: https://helm.sh/docs/chart_template_guide/builtin_objects/*
|
||||||
|
|
||||||
|
Today we use:
|
||||||
|
|
||||||
|
- `.Capabilities.APIVersions.Has` mostly to determine whether the CRDs for ServiceMonitors (from prometheus-operator) exists inside the cluster
|
||||||
|
- `.Capabilities.KubeVersion.Version` to handle correct apiVersion of a specific resource kind (eg. "policy/v1" vs. "policy/v1beta1")
|
||||||
|
|
||||||
|
If you use the charts only to template the manifests, without installing (`helm install ..`), you need to make sure that Helm (or the Helm SDK) receives the available APIs from your Kubernetes cluster.
|
||||||
|
|
||||||
|
For this you need to pass the `--api-versions` parameter to the `helm template` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
helm template argocd \
|
||||||
|
oci://ghcr.io/argoproj/argo-helm/argo-cd \
|
||||||
|
--api-versions monitoring.coreos.com/v1 \
|
||||||
|
--values my-argocd-values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
If you use other tools like [Kustomize](https://kubectl.docs.kubernetes.io/references/kustomize/builtins/) or [helmfile](https://helmfile.readthedocs.io/en/latest/#configuration) to render it, there are equivalent options.
|
||||||
|
|
||||||
|
Example with Kustomize:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# kustomization.yaml
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
helmCharts:
|
||||||
|
- name: argo-cd
|
||||||
|
repo: oci://ghcr.io/argoproj/argo-helm
|
||||||
|
version: x.y.z
|
||||||
|
releaseName: argocd
|
||||||
|
apiVersions:
|
||||||
|
- monitoring.coreos.com/v1
|
||||||
|
valuesFile: my-argocd-values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
Example with helmfile:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# helmfile.yaml
|
||||||
|
repositories:
|
||||||
|
- name: argo
|
||||||
|
url: https://argoproj.github.io/argo-helm
|
||||||
|
|
||||||
|
apiVersions:
|
||||||
|
- monitoring.coreos.com/v1
|
||||||
|
|
||||||
|
releases:
|
||||||
|
- name: argocd
|
||||||
|
namespace: argocd
|
||||||
|
chart: argo/argo-cd
|
||||||
|
values:
|
||||||
|
- my-argocd-values.yaml
|
||||||
|
```
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: v2.11.0
|
appVersion: v2.11.2
|
||||||
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.9.4
|
version: 7.1.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
|
||||||
sources:
|
sources:
|
||||||
|
@ -26,5 +26,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: Added support for IPv4/IPv6 dual-stack networking.
|
description: Add support for IPv4/IPv6 dual-stack networking.
|
||||||
|
|
|
@ -278,6 +278,39 @@ 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.10.0
|
||||||
|
|
||||||
|
This version introduces authentication for Redis to mitigate GHSA-9766-5277-j5hr.
|
||||||
|
|
||||||
|
#### How to rotate Redis secret?
|
||||||
|
|
||||||
|
Upstream steps in the [FAQ] are not enough, since we chose a different approach.
|
||||||
|
(We use a Kubernetes Job with [Chart Hooks] to create the auth secret `argocd-redis`.)
|
||||||
|
|
||||||
|
Steps to roteate the secret when using the helm chart (bold step is additional to upstream):
|
||||||
|
* Delete `argocd-redis` secret in the namespace where Argo CD is installed.
|
||||||
|
```bash
|
||||||
|
kubectl delete secret argocd-redis -n <argocd namesapce>
|
||||||
|
```
|
||||||
|
* **Perform a helm upgrade**
|
||||||
|
```bash
|
||||||
|
helm upgrade argocd argo/argo-cd --reuse-values --wait
|
||||||
|
```
|
||||||
|
* If you are running Redis in HA mode, restart Redis in HA.
|
||||||
|
```bash
|
||||||
|
kubectl rollout restart deployment argocd-redis-ha-haproxy
|
||||||
|
kubectl rollout restart statefulset argocd-redis-ha-server
|
||||||
|
```
|
||||||
|
* If you are running Redis in non-HA mode, restart Redis.
|
||||||
|
```bash
|
||||||
|
kubectl rollout restart deployment argocd-redis
|
||||||
|
```
|
||||||
|
* Restart other components.
|
||||||
|
```bash
|
||||||
|
kubectl rollout restart deployment argocd-server argocd-repo-server
|
||||||
|
kubectl rollout restart statefulset argocd-application-controller
|
||||||
|
```
|
||||||
|
|
||||||
### 6.9.0
|
### 6.9.0
|
||||||
ApplicationSet controller is always created to follow [upstream's manifest](https://github.com/argoproj/argo-cd/blob/v2.11.0/manifests/core-install/kustomization.yaml#L9).
|
ApplicationSet controller is always created to follow [upstream's manifest](https://github.com/argoproj/argo-cd/blob/v2.11.0/manifests/core-install/kustomization.yaml#L9).
|
||||||
|
|
||||||
|
@ -664,7 +697,7 @@ NAME: my-release
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|-----|------|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
| configs.clusterCredentials | list | `[]` (See [values.yaml]) | Provide one or multiple [external cluster credentials] |
|
| configs.clusterCredentials | object | `{}` (See [values.yaml]) | Provide one or multiple [external cluster credentials] |
|
||||||
| configs.cm."admin.enabled" | bool | `true` | Enable local admin user |
|
| configs.cm."admin.enabled" | bool | `true` | Enable local admin user |
|
||||||
| 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 |
|
||||||
|
@ -1273,8 +1306,10 @@ The main options are listed here:
|
||||||
|-----|------|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
| redis-ha.additionalAffinities | object | `{}` | Additional affinities to add to the Redis server pods. |
|
| redis-ha.additionalAffinities | object | `{}` | Additional affinities to add to the Redis server pods. |
|
||||||
| redis-ha.affinity | string | `""` | Assign custom [affinity] rules to the Redis pods. |
|
| redis-ha.affinity | string | `""` | Assign custom [affinity] rules to the Redis pods. |
|
||||||
|
| redis-ha.auth | bool | `true` | Configures redis-ha with AUTH |
|
||||||
| redis-ha.containerSecurityContext | object | See [values.yaml] | Redis HA statefulset container-level security context |
|
| redis-ha.containerSecurityContext | object | See [values.yaml] | Redis HA statefulset container-level security context |
|
||||||
| 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.existingSecret | string | `"argocd-redis"` | Existing Secret to use for redis-ha authentication. By default the redis-secret-init Job is generating this Secret. |
|
||||||
| 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.58.0"` | Tag to use for the redis-exporter |
|
| redis-ha.exporter.tag | string | `"1.58.0"` | Tag to use for the redis-exporter |
|
||||||
|
@ -1318,6 +1353,33 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
|
||||||
| externalRedis.secretAnnotations | object | `{}` | External Redis Secret annotations |
|
| externalRedis.secretAnnotations | object | `{}` | External Redis Secret annotations |
|
||||||
| externalRedis.username | string | `""` | External Redis username |
|
| externalRedis.username | string | `""` | External Redis username |
|
||||||
|
|
||||||
|
### Redis secret-init
|
||||||
|
|
||||||
|
The helm chart deploys a Job to setup a random password which is used to secure the Redis. The Redis password is stored in Kubernetes secret `argocd-redis` with key `auth` in the namespace where Argo CD is installed.
|
||||||
|
If you use an External Redis (See Option 3 above), this Job is not deployed.
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| redisSecretInit.containerSecurityContext | object | See [values.yaml] | Application controller container-level security context |
|
||||||
|
| redisSecretInit.enabled | bool | `true` | Enable Redis secret initialization. If disabled, secret must be provisioned by alternative methods |
|
||||||
|
| redisSecretInit.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Image pull policy for the Redis secret-init Job |
|
||||||
|
| redisSecretInit.image.repository | string | `""` (defaults to global.image.repository) | Repository to use for the Redis secret-init Job |
|
||||||
|
| redisSecretInit.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the Redis secret-init Job |
|
||||||
|
| redisSecretInit.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry |
|
||||||
|
| redisSecretInit.jobAnnotations | object | `{}` | Annotations to be added to the Redis secret-init Job |
|
||||||
|
| redisSecretInit.name | string | `"redis-secret-init"` | Redis secret-init name |
|
||||||
|
| redisSecretInit.nodeSelector | object | `{}` (defaults to global.nodeSelector) | Node selector to be added to the Redis secret-init Job |
|
||||||
|
| redisSecretInit.podAnnotations | object | `{}` | Annotations to be added to the Redis secret-init Job |
|
||||||
|
| redisSecretInit.podLabels | object | `{}` | Labels to be added to the Redis secret-init Job |
|
||||||
|
| redisSecretInit.priorityClassName | string | `""` (defaults to global.priorityClassName) | Priority class for Redis secret-init Job |
|
||||||
|
| redisSecretInit.resources | object | `{}` | Resource limits and requests for Redis secret-init Job |
|
||||||
|
| redisSecretInit.securityContext | object | `{}` | Redis secret-init Job pod-level security context |
|
||||||
|
| redisSecretInit.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
|
||||||
|
| redisSecretInit.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account |
|
||||||
|
| redisSecretInit.serviceAccount.create | bool | `true` | Create a service account for the redis pod |
|
||||||
|
| redisSecretInit.serviceAccount.name | string | `""` | Service account name for redis pod |
|
||||||
|
| redisSecretInit.tolerations | list | `[]` (defaults to global.tolerations) | Tolerations to be added to the Redis secret-init Job |
|
||||||
|
|
||||||
## ApplicationSet
|
## ApplicationSet
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|
@ -1509,8 +1571,10 @@ Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/
|
||||||
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
||||||
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
||||||
[changelog]: https://artifacthub.io/packages/helm/argo/argo-cd?modal=changelog
|
[changelog]: https://artifacthub.io/packages/helm/argo/argo-cd?modal=changelog
|
||||||
|
[Chart Hooks]: https://helm.sh/docs/topics/charts_hooks/
|
||||||
[DNS configuration]: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
|
[DNS configuration]: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
|
||||||
[external cluster credentials]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters
|
[external cluster credentials]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters
|
||||||
|
[FAQ]: https://argo-cd.readthedocs.io/en/stable/faq/
|
||||||
[FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
|
[FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
|
||||||
[declarative setup]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup
|
[declarative setup]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup
|
||||||
[gRPC-ingress]: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/
|
[gRPC-ingress]: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/
|
||||||
|
|
|
@ -278,6 +278,39 @@ 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.10.0
|
||||||
|
|
||||||
|
This version introduces authentication for Redis to mitigate GHSA-9766-5277-j5hr.
|
||||||
|
|
||||||
|
#### How to rotate Redis secret?
|
||||||
|
|
||||||
|
Upstream steps in the [FAQ] are not enough, since we chose a different approach.
|
||||||
|
(We use a Kubernetes Job with [Chart Hooks] to create the auth secret `argocd-redis`.)
|
||||||
|
|
||||||
|
Steps to roteate the secret when using the helm chart (bold step is additional to upstream):
|
||||||
|
* Delete `argocd-redis` secret in the namespace where Argo CD is installed.
|
||||||
|
```bash
|
||||||
|
kubectl delete secret argocd-redis -n <argocd namesapce>
|
||||||
|
```
|
||||||
|
* **Perform a helm upgrade**
|
||||||
|
```bash
|
||||||
|
helm upgrade argocd argo/argo-cd --reuse-values --wait
|
||||||
|
```
|
||||||
|
* If you are running Redis in HA mode, restart Redis in HA.
|
||||||
|
```bash
|
||||||
|
kubectl rollout restart deployment argocd-redis-ha-haproxy
|
||||||
|
kubectl rollout restart statefulset argocd-redis-ha-server
|
||||||
|
```
|
||||||
|
* If you are running Redis in non-HA mode, restart Redis.
|
||||||
|
```bash
|
||||||
|
kubectl rollout restart deployment argocd-redis
|
||||||
|
```
|
||||||
|
* Restart other components.
|
||||||
|
```bash
|
||||||
|
kubectl rollout restart deployment argocd-server argocd-repo-server
|
||||||
|
kubectl rollout restart statefulset argocd-application-controller
|
||||||
|
```
|
||||||
|
|
||||||
### 6.9.0
|
### 6.9.0
|
||||||
ApplicationSet controller is always created to follow [upstream's manifest](https://github.com/argoproj/argo-cd/blob/v2.11.0/manifests/core-install/kustomization.yaml#L9).
|
ApplicationSet controller is always created to follow [upstream's manifest](https://github.com/argoproj/argo-cd/blob/v2.11.0/manifests/core-install/kustomization.yaml#L9).
|
||||||
|
|
||||||
|
@ -722,6 +755,19 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
### Redis secret-init
|
||||||
|
|
||||||
|
The helm chart deploys a Job to setup a random password which is used to secure the Redis. The Redis password is stored in Kubernetes secret `argocd-redis` with key `auth` in the namespace where Argo CD is installed.
|
||||||
|
If you use an External Redis (See Option 3 above), this Job is not deployed.
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
{{- range .Values }}
|
||||||
|
{{- if hasPrefix "redisSecretInit" .Key }}
|
||||||
|
| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} |
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
## ApplicationSet
|
## ApplicationSet
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|
@ -750,8 +796,10 @@ Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/
|
||||||
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
[BackendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom
|
||||||
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
[CSS styles]: https://argo-cd.readthedocs.io/en/stable/operator-manual/custom-styles/
|
||||||
[changelog]: https://artifacthub.io/packages/helm/argo/argo-cd?modal=changelog
|
[changelog]: https://artifacthub.io/packages/helm/argo/argo-cd?modal=changelog
|
||||||
|
[Chart Hooks]: https://helm.sh/docs/topics/charts_hooks/
|
||||||
[DNS configuration]: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
|
[DNS configuration]: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
|
||||||
[external cluster credentials]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters
|
[external cluster credentials]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters
|
||||||
|
[FAQ]: https://argo-cd.readthedocs.io/en/stable/faq/
|
||||||
[FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
|
[FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
|
||||||
[declarative setup]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup
|
[declarative setup]: https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup
|
||||||
[gRPC-ingress]: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/
|
[gRPC-ingress]: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/
|
||||||
|
|
|
@ -86,6 +86,25 @@ Create the name of the redis service account to use
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create Redis secret-init name
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.redisSecretInit.fullname" -}}
|
||||||
|
{{- printf "%s-%s" (include "argo-cd.fullname" .) .Values.redisSecretInit.name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the Redis secret-init service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.redisSecretInit.serviceAccountName" -}}
|
||||||
|
{{- if .Values.redisSecretInit.serviceAccount.create -}}
|
||||||
|
{{ default (include "argo-cd.redisSecretInit.fullname" .) .Values.redis.serviceAccount.name }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ default "default" .Values.redisSecretInit.serviceAccount.name }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Create argocd server name and version as used by the chart label.
|
Create argocd server name and version as used by the chart label.
|
||||||
*/}}
|
*/}}
|
||||||
|
|
|
@ -199,15 +199,19 @@ spec:
|
||||||
- name: REDIS_USERNAME
|
- name: REDIS_USERNAME
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
|
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
|
||||||
key: redis-username
|
key: redis-username
|
||||||
optional: true
|
optional: true
|
||||||
- name: REDIS_PASSWORD
|
- name: REDIS_PASSWORD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
|
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
|
||||||
|
{{- if .Values.externalRedis.host }}
|
||||||
key: redis-password
|
key: redis-password
|
||||||
optional: true
|
optional: true
|
||||||
|
{{- else }}
|
||||||
|
key: auth
|
||||||
|
{{- end }}
|
||||||
- name: ARGOCD_DEFAULT_CACHE_EXPIRATION
|
- name: ARGOCD_DEFAULT_CACHE_EXPIRATION
|
||||||
valueFrom:
|
valueFrom:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
|
|
|
@ -198,15 +198,19 @@ spec:
|
||||||
- name: REDIS_USERNAME
|
- name: REDIS_USERNAME
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
|
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
|
||||||
key: redis-username
|
key: redis-username
|
||||||
optional: true
|
optional: true
|
||||||
- name: REDIS_PASSWORD
|
- name: REDIS_PASSWORD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
|
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
|
||||||
|
{{- if .Values.externalRedis.host }}
|
||||||
key: redis-password
|
key: redis-password
|
||||||
optional: true
|
optional: true
|
||||||
|
{{- else }}
|
||||||
|
key: auth
|
||||||
|
{{- end }}
|
||||||
- name: ARGOCD_DEFAULT_CACHE_EXPIRATION
|
- name: ARGOCD_DEFAULT_CACHE_EXPIRATION
|
||||||
valueFrom:
|
valueFrom:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
{{- range .Values.configs.clusterCredentials }}
|
{{- range $cluster_key, $cluster_value := .Values.configs.clusterCredentials }}
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "argo-cd.name" $ }}-cluster-{{ .name }}
|
name: {{ include "argo-cd.name" $ }}-cluster-{{ $cluster_key }}
|
||||||
namespace: {{ $.Release.Namespace | quote }}
|
namespace: {{ $.Release.Namespace | quote }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "argo-cd.labels" (dict "context" $) | nindent 4 }}
|
{{- include "argo-cd.labels" (dict "context" $) | nindent 4 }}
|
||||||
{{- with .labels }}
|
{{- with $cluster_value.labels }}
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
argocd.argoproj.io/secret-type: cluster
|
argocd.argoproj.io/secret-type: cluster
|
||||||
{{- with .annotations }}
|
{{- with $cluster_value.annotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{- range $key, $value := . }}
|
{{- range $key, $value := . }}
|
||||||
{{ $key }}: {{ $value | quote }}
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
@ -19,17 +19,17 @@ metadata:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
type: Opaque
|
type: Opaque
|
||||||
stringData:
|
stringData:
|
||||||
name: {{ required "A valid .Values.configs.clusterCredentials[].name entry is required!" .name }}
|
name: {{ required "A valid .Values.configs.clusterCredentials.CLUSTERNAME.name entry is required!" $cluster_key }}
|
||||||
server: {{ required "A valid .Values.configs.clusterCredentials[].server entry is required!" .server }}
|
server: {{ required "A valid .Values.configs.clusterCredentials.CLUSTERNAME.server entry is required!" $cluster_value.server }}
|
||||||
{{- if .namespaces }}
|
{{- if $cluster_value.namespaces }}
|
||||||
namespaces: {{ .namespaces }}
|
namespaces: {{ $cluster_value.namespaces }}
|
||||||
{{- if .clusterResources }}
|
{{- if $cluster_value.clusterResources }}
|
||||||
clusterResources: {{ .clusterResources | quote }}
|
clusterResources: {{ $cluster_value.clusterResources | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .project }}
|
{{- if $cluster_value.project }}
|
||||||
project: {{ .project | quote }}
|
project: {{ $cluster_value.project | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
config: |
|
config: |
|
||||||
{{- required "A valid .Values.configs.clusterCredentials[].config entry is required!" .config | toRawJson | nindent 4 }}
|
{{- required "A valid .Values.configs.clusterCredentials.CLUSTERNAME.config entry is required!" $cluster_value.config | toRawJson | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "argo-cd.redis.fullname" . }}
|
name: argocd-redis
|
||||||
namespace: {{ include "argo-cd.namespace" . }}
|
namespace: {{ include "argo-cd.namespace" . }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "argo-cd.labels" (dict "context" $) | nindent 4 }}
|
{{- include "argo-cd.labels" (dict "context" $) | nindent 4 }}
|
||||||
|
|
|
@ -175,15 +175,19 @@ spec:
|
||||||
- name: REDIS_USERNAME
|
- name: REDIS_USERNAME
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
|
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
|
||||||
key: redis-username
|
key: redis-username
|
||||||
optional: true
|
optional: true
|
||||||
- name: REDIS_PASSWORD
|
- name: REDIS_PASSWORD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
|
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
|
||||||
|
{{- if .Values.externalRedis.host }}
|
||||||
key: redis-password
|
key: redis-password
|
||||||
optional: true
|
optional: true
|
||||||
|
{{- else }}
|
||||||
|
key: auth
|
||||||
|
{{- end }}
|
||||||
- name: ARGOCD_DEFAULT_CACHE_EXPIRATION
|
- name: ARGOCD_DEFAULT_CACHE_EXPIRATION
|
||||||
valueFrom:
|
valueFrom:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
|
|
|
@ -243,15 +243,19 @@ spec:
|
||||||
- name: REDIS_USERNAME
|
- name: REDIS_USERNAME
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
|
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
|
||||||
key: redis-username
|
key: redis-username
|
||||||
optional: true
|
optional: true
|
||||||
- name: REDIS_PASSWORD
|
- name: REDIS_PASSWORD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ default (include "argo-cd.redis.fullname" .) .Values.externalRedis.existingSecret }}
|
name: {{ default "argocd-redis" .Values.externalRedis.existingSecret }}
|
||||||
|
{{- if .Values.externalRedis.host }}
|
||||||
key: redis-password
|
key: redis-password
|
||||||
optional: true
|
optional: true
|
||||||
|
{{- else }}
|
||||||
|
key: auth
|
||||||
|
{{- end }}
|
||||||
- name: ARGOCD_DEFAULT_CACHE_EXPIRATION
|
- name: ARGOCD_DEFAULT_CACHE_EXPIRATION
|
||||||
valueFrom:
|
valueFrom:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
|
|
65
charts/argo-cd/templates/redis-secret-init/job.yaml
Normal file
65
charts/argo-cd/templates/redis-secret-init/job.yaml
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
{{- if and .Values.redisSecretInit.enabled (not .Values.externalRedis.host) }}
|
||||||
|
apiVersion: batch/v1
|
||||||
|
kind: Job
|
||||||
|
metadata:
|
||||||
|
name: {{ include "argo-cd.redisSecretInit.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
|
annotations:
|
||||||
|
"helm.sh/hook": pre-install,pre-upgrade
|
||||||
|
"helm.sh/hook-delete-policy": before-hook-creation
|
||||||
|
{{- range $key, $value := .Values.redisSecretInit.jobAnnotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.redisSecretInit.name "name" .Values.redisSecretInit.name) | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.redisSecretInit.name "name" .Values.redisSecretInit.name) | nindent 8 }}
|
||||||
|
{{- with (mergeOverwrite (deepCopy .Values.global.podLabels) .Values.redisSecretInit.podLabels) }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with (mergeOverwrite (deepCopy .Values.global.podAnnotations) .Values.redisSecretInit.podAnnotations) }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := . }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- with .Values.global.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
- command:
|
||||||
|
- argocd
|
||||||
|
- admin
|
||||||
|
- redis-initial-password
|
||||||
|
image: {{ default .Values.global.image.repository .Values.redisSecretInit.image.repository }}:{{ default (include "argo-cd.defaultTag" .) .Values.redisSecretInit.image.tag }}
|
||||||
|
imagePullPolicy: {{ default .Values.global.image.imagePullPolicy .Values.redisSecretInit.image.imagePullPolicy }}
|
||||||
|
name: secret-init
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.redisSecretInit.resources | nindent 10 }}
|
||||||
|
{{- with .Values.redisSecretInit.containerSecurityContext }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml . | nindent 10 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.redisSecretInit.securityContext }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.redisSecretInit.priorityClassName | default .Values.global.priorityClassName }}
|
||||||
|
priorityClassName: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
restartPolicy: OnFailure
|
||||||
|
{{- with .Values.redisSecretInit.nodeSelector | default .Values.global.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.redisSecretInit.tolerations | default .Values.global.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
serviceAccountName: {{ include "argo-cd.redisSecretInit.serviceAccountName" . }}
|
||||||
|
{{- end }}
|
27
charts/argo-cd/templates/redis-secret-init/role.yaml
Normal file
27
charts/argo-cd/templates/redis-secret-init/role.yaml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{{- if and .Values.redisSecretInit.enabled (not .Values.externalRedis.host) }}
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
"helm.sh/hook": pre-install,pre-upgrade
|
||||||
|
"helm.sh/hook-delete-policy": before-hook-creation
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.redisSecretInit.name "name" .Values.redisSecretInit.name) | nindent 4 }}
|
||||||
|
name: {{ include "argo-cd.redisSecretInit.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
resourceNames:
|
||||||
|
- argocd-redis
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- secrets
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
{{- end }}
|
19
charts/argo-cd/templates/redis-secret-init/rolebinding.yaml
Normal file
19
charts/argo-cd/templates/redis-secret-init/rolebinding.yaml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{{- if and .Values.redisSecretInit.enabled (not .Values.externalRedis.host) }}
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
"helm.sh/hook": pre-install,pre-upgrade
|
||||||
|
"helm.sh/hook-delete-policy": before-hook-creation
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.redisSecretInit.name "name" .Values.redisSecretInit.name) | nindent 4 }}
|
||||||
|
name: {{ include "argo-cd.redisSecretInit.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: {{ include "argo-cd.redisSecretInit.fullname" . }}
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: {{ include "argo-cd.redisSecretInit.serviceAccountName" . }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,16 @@
|
||||||
|
{{- if and .Values.redisSecretInit.enabled (not .Values.externalRedis.host) }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
automountServiceAccountToken: {{ .Values.redisSecretInit.serviceAccount.automountServiceAccountToken }}
|
||||||
|
metadata:
|
||||||
|
name: {{ include "argo-cd.redisSecretInit.serviceAccountName" . }}
|
||||||
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
|
annotations:
|
||||||
|
"helm.sh/hook": pre-install,pre-upgrade
|
||||||
|
"helm.sh/hook-delete-policy": before-hook-creation
|
||||||
|
{{- range $key, $value := .Values.redisSecretInit.serviceAccount.annotations }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.redisSecretInit.name "name" .Values.redisSecretInit.name) | nindent 4 }}
|
||||||
|
{{- end }}
|
|
@ -65,8 +65,14 @@ spec:
|
||||||
- ""
|
- ""
|
||||||
- --appendonly
|
- --appendonly
|
||||||
- "no"
|
- "no"
|
||||||
{{- with (concat .Values.global.env .Values.redis.env) }}
|
- --requirepass $(REDIS_PASSWORD)
|
||||||
env:
|
env:
|
||||||
|
- name: REDIS_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: argocd-redis
|
||||||
|
key: auth
|
||||||
|
{{- with (concat .Values.global.env .Values.redis.env) }}
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.redis.envFrom }}
|
{{- with .Values.redis.envFrom }}
|
||||||
|
|
|
@ -11,6 +11,7 @@ data:
|
||||||
redis_liveness.sh: |
|
redis_liveness.sh: |
|
||||||
response=$(
|
response=$(
|
||||||
redis-cli \
|
redis-cli \
|
||||||
|
-a "${REDIS_PASSWORD}" --no-auth-warning \
|
||||||
-h localhost \
|
-h localhost \
|
||||||
-p {{ .Values.redis.containerPorts.redis }} \
|
-p {{ .Values.redis.containerPorts.redis }} \
|
||||||
ping
|
ping
|
||||||
|
@ -23,6 +24,7 @@ data:
|
||||||
redis_readiness.sh: |
|
redis_readiness.sh: |
|
||||||
response=$(
|
response=$(
|
||||||
redis-cli \
|
redis-cli \
|
||||||
|
-a "${REDIS_PASSWORD}" --no-auth-warning \
|
||||||
-h localhost \
|
-h localhost \
|
||||||
-p {{ .Values.redis.containerPorts.redis }} \
|
-p {{ .Values.redis.containerPorts.redis }} \
|
||||||
ping
|
ping
|
||||||
|
|
|
@ -425,13 +425,13 @@ configs:
|
||||||
# command: [sh, -c, find . -name env.yaml]
|
# command: [sh, -c, find . -name env.yaml]
|
||||||
|
|
||||||
# -- Provide one or multiple [external cluster credentials]
|
# -- Provide one or multiple [external cluster credentials]
|
||||||
# @default -- `[]` (See [values.yaml])
|
# @default -- `{}` (See [values.yaml])
|
||||||
## Ref:
|
## Ref:
|
||||||
## - https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters
|
## - https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters
|
||||||
## - https://argo-cd.readthedocs.io/en/stable/operator-manual/security/#external-cluster-credentials
|
## - https://argo-cd.readthedocs.io/en/stable/operator-manual/security/#external-cluster-credentials
|
||||||
## - https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters
|
## - https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters
|
||||||
clusterCredentials: []
|
clusterCredentials: {}
|
||||||
# - name: mycluster
|
# mycluster:
|
||||||
# server: https://mycluster.example.com
|
# server: https://mycluster.example.com
|
||||||
# labels: {}
|
# labels: {}
|
||||||
# annotations: {}
|
# annotations: {}
|
||||||
|
@ -440,7 +440,7 @@ configs:
|
||||||
# tlsClientConfig:
|
# tlsClientConfig:
|
||||||
# insecure: false
|
# insecure: false
|
||||||
# caData: "<base64 encoded certificate>"
|
# caData: "<base64 encoded certificate>"
|
||||||
# - name: mycluster2
|
# mycluster2:
|
||||||
# server: https://mycluster2.example.com
|
# server: https://mycluster2.example.com
|
||||||
# labels: {}
|
# labels: {}
|
||||||
# annotations: {}
|
# annotations: {}
|
||||||
|
@ -451,7 +451,7 @@ configs:
|
||||||
# tlsClientConfig:
|
# tlsClientConfig:
|
||||||
# insecure: false
|
# insecure: false
|
||||||
# caData: "<base64 encoded certificate>"
|
# caData: "<base64 encoded certificate>"
|
||||||
# - name: mycluster3-project-scoped
|
# mycluster3-project-scoped:
|
||||||
# server: https://mycluster3.example.com
|
# server: https://mycluster3.example.com
|
||||||
# labels: {}
|
# labels: {}
|
||||||
# annotations: {}
|
# annotations: {}
|
||||||
|
@ -1554,6 +1554,12 @@ redis-ha:
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
readOnlyRootFilesystem: true
|
readOnlyRootFilesystem: true
|
||||||
|
|
||||||
|
# -- Configures redis-ha with AUTH
|
||||||
|
auth: true
|
||||||
|
# -- Existing Secret to use for redis-ha authentication.
|
||||||
|
# By default the redis-secret-init Job is generating this Secret.
|
||||||
|
existingSecret: argocd-redis
|
||||||
|
|
||||||
# -- Whether the Redis server pods should be forced to run on separate nodes.
|
# -- Whether the Redis server pods should be forced to run on separate nodes.
|
||||||
hardAntiAffinity: true
|
hardAntiAffinity: true
|
||||||
|
|
||||||
|
@ -1601,6 +1607,82 @@ externalRedis:
|
||||||
# -- External Redis Secret annotations
|
# -- External Redis Secret annotations
|
||||||
secretAnnotations: {}
|
secretAnnotations: {}
|
||||||
|
|
||||||
|
redisSecretInit:
|
||||||
|
# -- Enable Redis secret initialization. If disabled, secret must be provisioned by alternative methods
|
||||||
|
enabled: true
|
||||||
|
# -- Redis secret-init name
|
||||||
|
name: redis-secret-init
|
||||||
|
|
||||||
|
image:
|
||||||
|
# -- Repository to use for the Redis secret-init Job
|
||||||
|
# @default -- `""` (defaults to global.image.repository)
|
||||||
|
repository: "" # defaults to global.image.repository
|
||||||
|
# -- Tag to use for the Redis secret-init Job
|
||||||
|
# @default -- `""` (defaults to global.image.tag)
|
||||||
|
tag: "" # defaults to global.image.tag
|
||||||
|
# -- Image pull policy for the Redis secret-init Job
|
||||||
|
# @default -- `""` (defaults to global.image.imagePullPolicy)
|
||||||
|
imagePullPolicy: "" # IfNotPresent
|
||||||
|
|
||||||
|
# -- Secrets with credentials to pull images from a private registry
|
||||||
|
# @default -- `[]` (defaults to global.imagePullSecrets)
|
||||||
|
imagePullSecrets: []
|
||||||
|
|
||||||
|
# -- Annotations to be added to the Redis secret-init Job
|
||||||
|
jobAnnotations: {}
|
||||||
|
|
||||||
|
# -- Annotations to be added to the Redis secret-init Job
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
|
# -- Labels to be added to the Redis secret-init Job
|
||||||
|
podLabels: {}
|
||||||
|
|
||||||
|
# -- Resource limits and requests for Redis secret-init Job
|
||||||
|
resources: {}
|
||||||
|
# limits:
|
||||||
|
# cpu: 200m
|
||||||
|
# memory: 128Mi
|
||||||
|
# requests:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 64Mi
|
||||||
|
|
||||||
|
# -- Application controller container-level security context
|
||||||
|
# @default -- See [values.yaml]
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
|
||||||
|
# -- Redis secret-init Job pod-level security context
|
||||||
|
securityContext: {}
|
||||||
|
|
||||||
|
serviceAccount:
|
||||||
|
# -- Create a service account for the redis pod
|
||||||
|
create: true
|
||||||
|
# -- Service account name for redis pod
|
||||||
|
name: ""
|
||||||
|
# -- Annotations applied to created service account
|
||||||
|
annotations: {}
|
||||||
|
# -- Automount API credentials for the Service Account
|
||||||
|
automountServiceAccountToken: true
|
||||||
|
|
||||||
|
# -- Priority class for Redis secret-init Job
|
||||||
|
# @default -- `""` (defaults to global.priorityClassName)
|
||||||
|
priorityClassName: ""
|
||||||
|
|
||||||
|
# -- Node selector to be added to the Redis secret-init Job
|
||||||
|
# @default -- `{}` (defaults to global.nodeSelector)
|
||||||
|
nodeSelector: {}
|
||||||
|
|
||||||
|
# -- Tolerations to be added to the Redis secret-init Job
|
||||||
|
# @default -- `[]` (defaults to global.tolerations)
|
||||||
|
tolerations: []
|
||||||
|
|
||||||
## Server
|
## Server
|
||||||
server:
|
server:
|
||||||
# -- Argo CD server name
|
# -- Argo CD server name
|
||||||
|
|
|
@ -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.4
|
version: 2.4.5
|
||||||
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: added
|
- kind: fixed
|
||||||
description: Support ability to set .Values.namespaceOverride
|
description: Support additional labels
|
||||||
|
|
|
@ -104,6 +104,9 @@ helm.sh/chart: {{ include "argo-events.chart" .context }}
|
||||||
{{ include "argo-events.selectorLabels" (dict "context" .context "component" .component "name" .name) }}
|
{{ include "argo-events.selectorLabels" (dict "context" .context "component" .component "name" .name) }}
|
||||||
app.kubernetes.io/managed-by: {{ .context.Release.Service }}
|
app.kubernetes.io/managed-by: {{ .context.Release.Service }}
|
||||||
app.kubernetes.io/part-of: argo-events
|
app.kubernetes.io/part-of: argo-events
|
||||||
|
{{- with .context.Values.global.additionalLabels }}
|
||||||
|
{{ toYaml . }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
|
|
|
@ -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.35.2
|
version: 2.35.3
|
||||||
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:
|
||||||
|
@ -19,4 +19,4 @@ annotations:
|
||||||
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: added
|
- kind: added
|
||||||
description: Added pod labels for the controller and the dashboard components
|
description: Support revisionHistoryLimit
|
||||||
|
|
|
@ -51,6 +51,7 @@ For full list of changes please check ArtifactHub [changelog].
|
||||||
| 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 |
|
| global.deploymentLabels | object | `{}` | Labels for all deployed Deployments |
|
||||||
|
| global.revisionHistoryLimit | int | `10` | Number of old deployment ReplicaSets to retain. The rest will be garbage collected. |
|
||||||
| 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 |
|
||||||
|
|
|
@ -23,6 +23,7 @@ spec:
|
||||||
strategy:
|
strategy:
|
||||||
type: Recreate
|
type: Recreate
|
||||||
replicas: {{ .Values.controller.replicas }}
|
replicas: {{ .Values.controller.replicas }}
|
||||||
|
revisionHistoryLimit: {{ .Values.global.revisionHistoryLimit }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
{{- with (mergeOverwrite (deepCopy .Values.podAnnotations) .Values.controller.podAnnotations) }}
|
{{- with (mergeOverwrite (deepCopy .Values.podAnnotations) .Values.controller.podAnnotations) }}
|
||||||
|
|
|
@ -24,6 +24,7 @@ spec:
|
||||||
strategy:
|
strategy:
|
||||||
type: Recreate
|
type: Recreate
|
||||||
replicas: {{ .Values.dashboard.replicas }}
|
replicas: {{ .Values.dashboard.replicas }}
|
||||||
|
revisionHistoryLimit: {{ .Values.global.revisionHistoryLimit }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
{{- with (mergeOverwrite (deepCopy .Values.podAnnotations) .Values.dashboard.podAnnotations) }}
|
{{- with (mergeOverwrite (deepCopy .Values.podAnnotations) .Values.dashboard.podAnnotations) }}
|
||||||
|
|
|
@ -43,6 +43,8 @@ global:
|
||||||
deploymentAnnotations: {}
|
deploymentAnnotations: {}
|
||||||
# -- Labels for all deployed Deployments
|
# -- Labels for all deployed Deployments
|
||||||
deploymentLabels: {}
|
deploymentLabels: {}
|
||||||
|
# -- Number of old deployment ReplicaSets to retain. The rest will be garbage collected.
|
||||||
|
revisionHistoryLimit: 10
|
||||||
|
|
||||||
controller:
|
controller:
|
||||||
# -- Value of label `app.kubernetes.io/component`
|
# -- Value of label `app.kubernetes.io/component`
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: v3.5.6
|
appVersion: v3.5.7
|
||||||
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.41.4
|
version: 0.41.7
|
||||||
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: added
|
- kind: changed
|
||||||
description: Added option to add service accounts to RoleBindings
|
description: Bump argo-workflows to v3.5.7
|
||||||
|
|
|
@ -7,6 +7,9 @@ metadata:
|
||||||
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" . }}
|
||||||
|
{{- with .Values.server.serviceLabels }}
|
||||||
|
{{ toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.server.serviceAnnotations }}
|
{{- with .Values.server.serviceAnnotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
|
|
|
@ -202,7 +202,7 @@ controller:
|
||||||
workflowDefaults: {}
|
workflowDefaults: {}
|
||||||
# spec:
|
# spec:
|
||||||
# ttlStrategy:
|
# ttlStrategy:
|
||||||
# secondsAfterCompletion: 84600
|
# secondsAfterCompletion: 86400
|
||||||
# # Ref: https://argo-workflows.readthedocs.io/en/stable/artifact-repository-ref/
|
# # Ref: https://argo-workflows.readthedocs.io/en/stable/artifact-repository-ref/
|
||||||
# artifactRepositoryRef:
|
# artifactRepositoryRef:
|
||||||
# configMap: my-artifact-repository # default is "artifact-repositories"
|
# configMap: my-artifact-repository # default is "artifact-repositories"
|
||||||
|
|
|
@ -2,8 +2,8 @@ apiVersion: v2
|
||||||
name: argocd-image-updater
|
name: argocd-image-updater
|
||||||
description: A Helm chart for Argo CD Image Updater, a tool to automatically update the container images of Kubernetes workloads which are managed by Argo CD
|
description: A Helm chart for Argo CD Image Updater, a tool to automatically update the container images of Kubernetes workloads which are managed by Argo CD
|
||||||
type: application
|
type: application
|
||||||
version: 0.10.0
|
version: 0.10.1
|
||||||
appVersion: v0.13.0
|
appVersion: v0.13.1
|
||||||
home: https://github.com/argoproj-labs/argocd-image-updater
|
home: https://github.com/argoproj-labs/argocd-image-updater
|
||||||
icon: https://argocd-image-updater.readthedocs.io/en/stable/assets/logo.png
|
icon: https://argocd-image-updater.readthedocs.io/en/stable/assets/logo.png
|
||||||
keywords:
|
keywords:
|
||||||
|
@ -19,4 +19,4 @@ annotations:
|
||||||
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: changed
|
||||||
description: Bump argocd-image-updater to v0.13.0
|
description: Bump argocd-image-updater to v0.13.1
|
||||||
|
|
Loading…
Reference in a new issue