feat(argo-cd): add support for dual stack clusters (#2649)
* feat(argo-cd): add support for dual stack clusters Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr> * fix: add suggested change Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr> * fix: metric template & add suggested change Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr> * fix: remove changelog in README.md.gotmpl Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr> * fix: applicationset metric template Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr> * fix: add changelog as annotation Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr> * feat: use a global setting to enable dual stack Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr> --------- Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr> Signed-off-by: Marco Maurer (-Kilchhofer) <mkilchhofer@users.noreply.github.com> Co-authored-by: Aikawa <yu.croco@gmail.com> Co-authored-by: Marco Maurer (-Kilchhofer) <mkilchhofer@users.noreply.github.com>
This commit is contained in:
parent
0a97419aa9
commit
45ff566614
15 changed files with 35 additions and 3 deletions
|
@ -3,7 +3,7 @@ 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: 7.0.0
|
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: Represent cluster credentials as a map
|
description: Add support for IPv4/IPv6 dual-stack networking.
|
||||||
|
|
|
@ -671,6 +671,8 @@ NAME: my-release
|
||||||
| 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.domain | string | `"argocd.example.com"` | Default domain used by all components |
|
||||||
|
| global.dualStack.ipFamilies | list | `[]` | IP families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6. |
|
||||||
|
| global.dualStack.ipFamilyPolicy | string | `""` | IP family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) |
|
||||||
| 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 |
|
||||||
|
|
|
@ -245,3 +245,15 @@ Allows overriding it for multi-namespace deployments in combined charts.
|
||||||
{{- define "argo-cd.namespace" -}}
|
{{- define "argo-cd.namespace" -}}
|
||||||
{{- default .Release.Namespace .Values.namespaceOverride | trunc 63 | trimSuffix "-" -}}
|
{{- default .Release.Namespace .Values.namespaceOverride | trunc 63 | trimSuffix "-" -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Dual stack definition
|
||||||
|
*/}}
|
||||||
|
{{- define "argo-cd.dualStack" -}}
|
||||||
|
{{- with .Values.global.dualStack.ipFamilyPolicy }}
|
||||||
|
ipFamilyPolicy: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.global.dualStack.ipFamilies }}
|
||||||
|
ipFamilies: {{ toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
|
@ -24,6 +24,7 @@ spec:
|
||||||
{{- if and .Values.controller.metrics.service.clusterIP (eq .Values.controller.metrics.service.type "ClusterIP") }}
|
{{- if and .Values.controller.metrics.service.clusterIP (eq .Values.controller.metrics.service.type "ClusterIP") }}
|
||||||
clusterIP: {{ .Values.controller.metrics.service.clusterIP }}
|
clusterIP: {{ .Values.controller.metrics.service.clusterIP }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
ports:
|
ports:
|
||||||
- name: {{ .Values.controller.metrics.service.portName }}
|
- name: {{ .Values.controller.metrics.service.portName }}
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
|
|
@ -24,6 +24,7 @@ spec:
|
||||||
{{- if and .Values.applicationSet.metrics.service.clusterIP (eq .Values.applicationSet.metrics.service.type "ClusterIP") }}
|
{{- if and .Values.applicationSet.metrics.service.clusterIP (eq .Values.applicationSet.metrics.service.type "ClusterIP") }}
|
||||||
clusterIP: {{ .Values.applicationSet.metrics.service.clusterIP }}
|
clusterIP: {{ .Values.applicationSet.metrics.service.clusterIP }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
ports:
|
ports:
|
||||||
- name: {{ .Values.applicationSet.metrics.service.portName }}
|
- name: {{ .Values.applicationSet.metrics.service.portName }}
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
|
|
@ -16,6 +16,7 @@ metadata:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
type: {{ .Values.applicationSet.service.type }}
|
type: {{ .Values.applicationSet.service.type }}
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
ports:
|
ports:
|
||||||
- name: {{ .Values.applicationSet.service.portName }}
|
- name: {{ .Values.applicationSet.service.portName }}
|
||||||
port: {{ .Values.applicationSet.service.port }}
|
port: {{ .Values.applicationSet.service.port }}
|
||||||
|
|
|
@ -24,6 +24,7 @@ spec:
|
||||||
{{- if and .Values.notifications.metrics.service.clusterIP (eq .Values.notifications.metrics.service.type "ClusterIP") }}
|
{{- if and .Values.notifications.metrics.service.clusterIP (eq .Values.notifications.metrics.service.type "ClusterIP") }}
|
||||||
clusterIP: {{ .Values.notifications.metrics.service.clusterIP }}
|
clusterIP: {{ .Values.notifications.metrics.service.clusterIP }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
selector:
|
selector:
|
||||||
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.notifications.name) | nindent 6 }}
|
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.notifications.name) | nindent 6 }}
|
||||||
ports:
|
ports:
|
||||||
|
|
|
@ -24,6 +24,7 @@ spec:
|
||||||
{{- if and .Values.repoServer.metrics.service.clusterIP (eq .Values.repoServer.metrics.service.type "ClusterIP") }}
|
{{- if and .Values.repoServer.metrics.service.clusterIP (eq .Values.repoServer.metrics.service.type "ClusterIP") }}
|
||||||
clusterIP: {{ .Values.repoServer.metrics.service.clusterIP }}
|
clusterIP: {{ .Values.repoServer.metrics.service.clusterIP }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
ports:
|
ports:
|
||||||
- name: {{ .Values.repoServer.metrics.service.portName }}
|
- name: {{ .Values.repoServer.metrics.service.portName }}
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
|
|
@ -15,6 +15,7 @@ metadata:
|
||||||
name: {{ template "argo-cd.repoServer.fullname" . }}
|
name: {{ template "argo-cd.repoServer.fullname" . }}
|
||||||
namespace: {{ include "argo-cd.namespace" . }}
|
namespace: {{ include "argo-cd.namespace" . }}
|
||||||
spec:
|
spec:
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
ports:
|
ports:
|
||||||
- name: {{ .Values.repoServer.service.portName }}
|
- name: {{ .Values.repoServer.service.portName }}
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
|
|
@ -9,6 +9,7 @@ metadata:
|
||||||
name: {{ template "argo-cd.server.fullname" . }}-grpc
|
name: {{ template "argo-cd.server.fullname" . }}-grpc
|
||||||
namespace: {{ include "argo-cd.namespace" . }}
|
namespace: {{ include "argo-cd.namespace" . }}
|
||||||
spec:
|
spec:
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
ports:
|
ports:
|
||||||
- name: {{ .Values.server.service.servicePortHttpName }}
|
- name: {{ .Values.server.service.servicePortHttpName }}
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
|
|
@ -24,6 +24,7 @@ spec:
|
||||||
{{- if and .Values.server.metrics.service.clusterIP (eq .Values.server.metrics.service.type "ClusterIP") }}
|
{{- if and .Values.server.metrics.service.clusterIP (eq .Values.server.metrics.service.type "ClusterIP") }}
|
||||||
clusterIP: {{ .Values.server.metrics.service.clusterIP }}
|
clusterIP: {{ .Values.server.metrics.service.clusterIP }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
ports:
|
ports:
|
||||||
- name: {{ .Values.server.metrics.service.portName }}
|
- name: {{ .Values.server.metrics.service.portName }}
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
|
|
@ -16,6 +16,7 @@ metadata:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
type: {{ .Values.server.service.type }}
|
type: {{ .Values.server.service.type }}
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
{{- with .Values.server.service.externalIPs }}
|
{{- with .Values.server.service.externalIPs }}
|
||||||
externalIPs: {{ . }}
|
externalIPs: {{ . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -16,6 +16,7 @@ metadata:
|
||||||
{{- toYaml .Values.dex.metrics.service.labels | nindent 4 }}
|
{{- toYaml .Values.dex.metrics.service.labels | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
ports:
|
ports:
|
||||||
- name: {{ .Values.dex.servicePortHttpName }}
|
- name: {{ .Values.dex.servicePortHttpName }}
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
|
|
@ -17,6 +17,7 @@ metadata:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
|
{{- include "argo-cd.dualStack" . | indent 2 }}
|
||||||
ports:
|
ports:
|
||||||
- name: redis
|
- name: redis
|
||||||
port: {{ .Values.redis.servicePort }}
|
port: {{ .Values.redis.servicePort }}
|
||||||
|
|
|
@ -98,6 +98,13 @@ global:
|
||||||
# hostnames:
|
# hostnames:
|
||||||
# - git.myhostname
|
# - git.myhostname
|
||||||
|
|
||||||
|
# Configure dual-stack used by all component services
|
||||||
|
dualStack:
|
||||||
|
# -- IP family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
|
||||||
|
ipFamilyPolicy: ""
|
||||||
|
# -- IP families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
|
||||||
|
ipFamilies: []
|
||||||
|
|
||||||
# Default network policy rules used by all components
|
# Default network policy rules used by all components
|
||||||
networkPolicy:
|
networkPolicy:
|
||||||
# -- Create NetworkPolicy objects for all components
|
# -- Create NetworkPolicy objects for all components
|
||||||
|
|
Loading…
Reference in a new issue