fix(argo-cd): Fix Service configuration for Argo server (#2690)
Signed-off-by: Petr Drastil <petr.drastil@gmail.com>
This commit is contained in:
parent
510261328f
commit
87f717656a
4 changed files with 44 additions and 36 deletions
|
@ -3,7 +3,7 @@ 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.9.0
|
version: 6.9.1
|
||||||
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,9 @@ 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: fixed
|
||||||
description: Always create ApplicationSet as following upstream
|
description: Service option externalIPs is available for all service types
|
||||||
|
- kind: fixed
|
||||||
|
description: Service option externalTrafficPolicy is available only for Service types LoadBalancer and NodePort
|
||||||
|
- kind: fixed
|
||||||
|
description: Load balancer options are available only for Service type LoadBalancer
|
||||||
|
|
|
@ -1044,7 +1044,7 @@ NAME: my-release
|
||||||
| server.route.termination_type | string | `"passthrough"` | Termination type of Openshift Route |
|
| server.route.termination_type | string | `"passthrough"` | Termination type of Openshift Route |
|
||||||
| server.service.annotations | object | `{}` | Server service annotations |
|
| server.service.annotations | object | `{}` | Server service annotations |
|
||||||
| server.service.externalIPs | list | `[]` | Server service external IPs |
|
| server.service.externalIPs | list | `[]` | Server service external IPs |
|
||||||
| server.service.externalTrafficPolicy | string | `""` | Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints |
|
| server.service.externalTrafficPolicy | string | `"Cluster"` | Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints |
|
||||||
| server.service.labels | object | `{}` | Server service labels |
|
| server.service.labels | object | `{}` | Server service labels |
|
||||||
| server.service.loadBalancerIP | string | `""` | LoadBalancer will get created with the IP specified in this field |
|
| server.service.loadBalancerIP | string | `""` | LoadBalancer will get created with the IP specified in this field |
|
||||||
| server.service.loadBalancerSourceRanges | list | `[]` | Source IP ranges to allow access to service from |
|
| server.service.loadBalancerSourceRanges | list | `[]` | Source IP ranges to allow access to service from |
|
||||||
|
@ -1053,8 +1053,9 @@ NAME: my-release
|
||||||
| server.service.servicePortHttp | int | `80` | Server service http port |
|
| server.service.servicePortHttp | int | `80` | Server service http port |
|
||||||
| server.service.servicePortHttpName | string | `"http"` | Server service http port name, can be used to route traffic via istio |
|
| server.service.servicePortHttpName | string | `"http"` | Server service http port name, can be used to route traffic via istio |
|
||||||
| server.service.servicePortHttps | int | `443` | Server service https port |
|
| server.service.servicePortHttps | int | `443` | Server service https port |
|
||||||
|
| server.service.servicePortHttpsAppProtocol | string | `""` | Server service https port appProtocol |
|
||||||
| server.service.servicePortHttpsName | string | `"https"` | Server service https port name, can be used to route traffic via istio |
|
| server.service.servicePortHttpsName | string | `"https"` | Server service https port name, can be used to route traffic via istio |
|
||||||
| server.service.sessionAffinity | string | `""` | Used to maintain session affinity. Supports `ClientIP` and `None` |
|
| server.service.sessionAffinity | string | `"None"` | Used to maintain session affinity. Supports `ClientIP` and `None` |
|
||||||
| server.service.type | string | `"ClusterIP"` | Server service type |
|
| server.service.type | string | `"ClusterIP"` | Server service type |
|
||||||
| server.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
|
| server.serviceAccount.annotations | object | `{}` | Annotations applied to created service account |
|
||||||
| server.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account |
|
| server.serviceAccount.automountServiceAccountToken | bool | `true` | Automount API credentials for the Service Account |
|
||||||
|
|
|
@ -1,21 +1,37 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
{{- if .Values.server.service.annotations }}
|
|
||||||
annotations:
|
|
||||||
{{- range $key, $value := .Values.server.service.annotations }}
|
|
||||||
{{ $key }}: {{ $value | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
name: {{ template "argo-cd.server.fullname" . }}
|
name: {{ template "argo-cd.server.fullname" . }}
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
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 }}
|
||||||
{{- if .Values.server.service.labels }}
|
{{- with .Values.server.service.labels }}
|
||||||
{{- toYaml .Values.server.service.labels | nindent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- with .Values.server.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- range $key, $value := . }}
|
||||||
|
{{ $key }}: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
type: {{ .Values.server.service.type }}
|
type: {{ .Values.server.service.type }}
|
||||||
|
{{- with .Values.server.service.externalIPs }}
|
||||||
|
externalIPs: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or (eq .Values.server.service.type "LoadBalancer") (eq .Values.server.service.type "NodePort") }}
|
||||||
|
externalTrafficPolicy: {{ .Values.server.service.externalTrafficPolicy }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq .Values.server.service.type "LoadBalancer" }}
|
||||||
|
{{- with .Values.server.service.loadBalancerIP }}
|
||||||
|
loadBalancerIP: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.server.service.loadBalancerSourceRanges }}
|
||||||
|
loadBalancerSourceRanges:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
sessionAffinity: {{ .Values.server.service.sessionAffinity }}
|
||||||
ports:
|
ports:
|
||||||
- name: {{ .Values.server.service.servicePortHttpName }}
|
- name: {{ .Values.server.service.servicePortHttpName }}
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
@ -36,21 +52,4 @@ spec:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
selector:
|
selector:
|
||||||
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.server.name) | nindent 4 }}
|
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.server.name) | nindent 4 }}
|
||||||
{{- if eq .Values.server.service.type "LoadBalancer" }}
|
|
||||||
{{- if .Values.server.service.loadBalancerIP }}
|
|
||||||
loadBalancerIP: {{ .Values.server.service.loadBalancerIP | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.server.service.externalIPs }}
|
|
||||||
externalIPs: {{ .Values.server.service.externalIPs }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.server.service.loadBalancerSourceRanges }}
|
|
||||||
loadBalancerSourceRanges:
|
|
||||||
{{ toYaml .Values.server.service.loadBalancerSourceRanges | indent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- with .Values.server.service.externalTrafficPolicy }}
|
|
||||||
externalTrafficPolicy: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.service.sessionAffinity }}
|
|
||||||
sessionAffinity: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
|
@ -1972,18 +1972,22 @@ server:
|
||||||
servicePortHttpName: http
|
servicePortHttpName: http
|
||||||
# -- Server service https port name, can be used to route traffic via istio
|
# -- Server service https port name, can be used to route traffic via istio
|
||||||
servicePortHttpsName: https
|
servicePortHttpsName: https
|
||||||
# -- Server service https port appProtocol. (should be upper case - i.e. HTTPS)
|
# -- Server service https port appProtocol
|
||||||
# servicePortHttpsAppProtocol: HTTPS
|
## Ref: https://kubernetes.io/docs/concepts/services-networking/service/#application-protocol
|
||||||
|
servicePortHttpsAppProtocol: ""
|
||||||
# -- LoadBalancer will get created with the IP specified in this field
|
# -- LoadBalancer will get created with the IP specified in this field
|
||||||
loadBalancerIP: ""
|
loadBalancerIP: ""
|
||||||
# -- Source IP ranges to allow access to service from
|
# -- Source IP ranges to allow access to service from
|
||||||
|
## Ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
|
||||||
loadBalancerSourceRanges: []
|
loadBalancerSourceRanges: []
|
||||||
# -- Server service external IPs
|
# -- Server service external IPs
|
||||||
externalIPs: []
|
externalIPs: []
|
||||||
# -- Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
|
# -- Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
|
||||||
externalTrafficPolicy: ""
|
## Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||||
|
externalTrafficPolicy: Cluster
|
||||||
# -- Used to maintain session affinity. Supports `ClientIP` and `None`
|
# -- Used to maintain session affinity. Supports `ClientIP` and `None`
|
||||||
sessionAffinity: ""
|
## Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
||||||
|
sessionAffinity: None
|
||||||
|
|
||||||
## Server metrics service configuration
|
## Server metrics service configuration
|
||||||
metrics:
|
metrics:
|
||||||
|
|
Loading…
Reference in a new issue