feat(argo-cd): Add existingVolumes setting for remaining deployments with emptyDir volumes

Signed-off-by: Matt Dainty <matt@bodgit-n-scarper.com>
This commit is contained in:
Matt Dainty 2024-01-26 14:32:11 +00:00
parent 8b98cf177a
commit d0cf96fefc
8 changed files with 85 additions and 13 deletions

View file

@ -3,7 +3,7 @@ appVersion: v2.9.5
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: 5.53.12 version: 5.54.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: security - kind: added
description: updated dex image version to fix cves description: Add `existingVolumes` setting to remaining deployments with emptyDir volumes.

View file

@ -525,6 +525,7 @@ NAME: my-release
| controller.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for application controller pods | | controller.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for application controller pods |
| 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.existingVolumes | object | `{}` | Volumes to be used in replacement of emptydir on default volumes |
| 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.hostNetwork | bool | `false` | Host Network for application controller pods | | controller.hostNetwork | bool | `false` | Host Network for application controller pods |
@ -729,6 +730,7 @@ NAME: my-release
| server.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Server pods | | server.dnsPolicy | string | `"ClusterFirst"` | Alternative DNS policy for Server pods |
| 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.existingVolumes | object | `{}` | Volumes to be used in replacement of emptydir on default volumes |
| 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 |
| server.extensions.enabled | bool | `false` | Enable support for Argo CD extensions | | server.extensions.enabled | bool | `false` | Enable support for Argo CD extensions |
| server.extensions.extensionList | list | `[]` (See [values.yaml]) | Extensions for Argo CD | | server.extensions.extensionList | list | `[]` (See [values.yaml]) | Extensions for Argo CD |
@ -881,6 +883,7 @@ 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 |
| dex.existingVolumes | object | `{}` | Volumes to be used in replacement of emptydir on default volumes |
| dex.extraArgs | list | `[]` | Additional command line arguments to pass to the Dex server | | dex.extraArgs | list | `[]` | Additional command line arguments to pass to the Dex server |
| dex.extraContainers | list | `[]` | Additional containers to be added to the dex pod | | dex.extraContainers | list | `[]` | Additional containers to be added to the dex pod |
| dex.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Dex imagePullPolicy | | dex.image.imagePullPolicy | string | `""` (defaults to global.image.imagePullPolicy) | Dex imagePullPolicy |
@ -1101,6 +1104,7 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
| 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.enabled | bool | `true` | Enable ApplicationSet controller | | applicationSet.enabled | bool | `true` | Enable ApplicationSet controller |
| applicationSet.existingVolumes | object | `{}` | Volumes to be used in replacement of emptydir on default volumes |
| applicationSet.extraArgs | list | `[]` | List of extra cli args to add | | applicationSet.extraArgs | list | `[]` | List of extra cli args to add |
| 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 |
| applicationSet.extraEnv | list | `[]` | Environment variables to pass to the ApplicationSet controller | | applicationSet.extraEnv | list | `[]` | Environment variables to pass to the ApplicationSet controller |

View file

@ -321,7 +321,11 @@ spec:
{{- toYaml . | nindent 6 }} {{- toYaml . | nindent 6 }}
{{- end }} {{- end }}
- name: argocd-home - name: argocd-home
{{- with .Values.controller.existingVolumes.argocdHome }}
{{- toYaml . | nindent 8 }}
{{- 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

@ -310,9 +310,17 @@ spec:
configMap: configMap:
name: argocd-gpg-keys-cm name: argocd-gpg-keys-cm
- name: gpg-keyring - name: gpg-keyring
{{- with .Values.applicationSet.existingVolumes.gpgKeyring }}
{{- toYaml . | nindent 10 }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
- name: tmp - name: tmp
{{- with .Values.applicationSet.existingVolumes.tmp }}
{{- toYaml . | nindent 10 }}
{{- 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

@ -373,27 +373,27 @@ spec:
{{- end }} {{- end }}
{{- if .Values.repoServer.useEphemeralHelmWorkingDir }} {{- if .Values.repoServer.useEphemeralHelmWorkingDir }}
- name: helm-working-dir - name: helm-working-dir
{{- if .Values.repoServer.existingVolumes.helmWorkingDir -}} {{- with .Values.repoServer.existingVolumes.helmWorkingDir }}
{{ toYaml .Values.repoServer.existingVolumes.helmWorkingDir | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- else }} {{- else }}
emptyDir: {} emptyDir: {}
{{- end }} {{- end }}
{{- end }} {{- end }}
- name: plugins - name: plugins
{{- if .Values.repoServer.existingVolumes.plugins -}} {{- with .Values.repoServer.existingVolumes.plugins }}
{{ toYaml .Values.repoServer.existingVolumes.plugins | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- else }} {{- else }}
emptyDir: {} emptyDir: {}
{{- end }} {{- end }}
- name: var-files - name: var-files
{{- if .Values.repoServer.existingVolumes.varFiles -}} {{- with .Values.repoServer.existingVolumes.varFiles }}
{{ toYaml .Values.repoServer.existingVolumes.varFiles | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- else }} {{- else }}
emptyDir: {} emptyDir: {}
{{- end }} {{- end }}
- name: tmp - name: tmp
{{- if .Values.repoServer.existingVolumes.tmp -}} {{- with .Values.repoServer.existingVolumes.tmp }}
{{ toYaml .Values.repoServer.existingVolumes.tmp | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- else }} {{- else }}
emptyDir: {} emptyDir: {}
{{- end }} {{- end }}
@ -407,8 +407,8 @@ spec:
configMap: configMap:
name: argocd-gpg-keys-cm name: argocd-gpg-keys-cm
- name: gpg-keyring - name: gpg-keyring
{{- if .Values.repoServer.existingVolumes.gpgKeyring -}} {{- with .Values.repoServer.existingVolumes.gpgKeyring }}
{{ toYaml .Values.repoServer.existingVolumes.gpgKeyring | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- else }} {{- else }}
emptyDir: {} emptyDir: {}
{{- end }} {{- end }}

View file

@ -418,12 +418,24 @@ spec:
{{- end }} {{- end }}
{{- if .Values.server.extensions.enabled }} {{- if .Values.server.extensions.enabled }}
- name: extensions - name: extensions
{{- with .Values.server.existingVolumes.extensions }}
{{- toYaml . | nindent 8 }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
{{- end }} {{- end }}
- name: plugins-home - name: plugins-home
{{- with .Values.server.existingVolumes.pluginsHome }}
{{- toYaml . | nindent 8 }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
- name: tmp - name: tmp
{{- with .Values.server.existingVolumes.tmp }}
{{- toYaml . | nindent 8 }}
{{- 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

@ -185,9 +185,17 @@ spec:
{{- end }} {{- end }}
volumes: volumes:
- name: static-files - name: static-files
{{- with .Values.dex.existingVolumes.staticFiles }}
{{- toYaml . | nindent 8 }}
{{- else }}
emptyDir: {} emptyDir: {}
{{- end }}
- name: dexconfig - name: dexconfig
{{- with .Values.dex.existingVolumes.dexconfig }}
{{- toYaml . | nindent 8 }}
{{- 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

@ -688,6 +688,12 @@ controller:
# - name: custom-tools # - name: custom-tools
# emptyDir: {} # emptyDir: {}
# -- Volumes to be used in replacement of emptydir on default volumes
existingVolumes: {}
# argocdHome:
# persistentVolumeClaim:
# claimName: pvc-argocd-application-controller-home
# -- Annotations for the application controller StatefulSet # -- Annotations for the application controller StatefulSet
statefulsetAnnotations: {} statefulsetAnnotations: {}
@ -999,6 +1005,15 @@ dex:
# -- Additional volumes to the dex pod # -- Additional volumes to the dex pod
volumes: [] volumes: []
# -- Volumes to be used in replacement of emptydir on default volumes
existingVolumes: {}
# staticFiles:
# persistentVolumeClaim:
# claimName: pvc-argocd-dex-server-static-files
# dexconfig:
# persistentVolumeClaim:
# claimName: pvc-argocd-dex-server-dexconfig
# 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.
@ -1684,6 +1699,18 @@ server:
# - name: custom-tools # - name: custom-tools
# emptyDir: {} # emptyDir: {}
# -- Volumes to be used in replacement of emptydir on default volumes
existingVolumes: {}
# extensions:
# persistentVolumeClaim:
# claimName: pvc-argocd-server-extensions
# pluginsHome:
# persistentVolumeClaim:
# claimName: pvc-argocd-server-plugins-home
# tmp:
# persistentVolumeClaim:
# claimName: pvc-argocd-server-tmp
# -- Annotations to be added to server Deployment # -- Annotations to be added to server Deployment
deploymentAnnotations: {} deploymentAnnotations: {}
@ -2539,6 +2566,15 @@ applicationSet:
# -- List of extra volumes to add # -- List of extra volumes to add
extraVolumes: [] extraVolumes: []
# -- Volumes to be used in replacement of emptydir on default volumes
existingVolumes: {}
# gpgKeyring:
# persistentVolumeClaim:
# claimName: pvc-argocd-applicationset-controller-keyring
# tmp:
# persistentVolumeClaim:
# claimName: pvc-argocd-applicationset-controller-tmp
## Metrics service configuration ## Metrics service configuration
metrics: metrics:
# -- Deploy metrics service # -- Deploy metrics service