feat(argo-cd)!: refactor ingress to support any backend service
Signed-off-by: Jacek Domagalski <domagalski.j@gmail.com>
This commit is contained in:
parent
05c79e322a
commit
701873b25f
4 changed files with 38 additions and 38 deletions
|
@ -3,7 +3,7 @@ appVersion: v2.5.10
|
||||||
kubeVersion: ">=1.22.0-0"
|
kubeVersion: ">=1.22.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.19.15
|
version: 6.0.0
|
||||||
home: https://github.com/argoproj/argo-helm
|
home: https://github.com/argoproj/argo-helm
|
||||||
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
|
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
|
||||||
sources:
|
sources:
|
||||||
|
@ -23,5 +23,5 @@ dependencies:
|
||||||
condition: redis-ha.enabled
|
condition: redis-ha.enabled
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- kind: added
|
- kind: changed
|
||||||
description: Configurable dnsPolicy / hostNetwork
|
description: Refactored ingress template and corresponding values section
|
||||||
|
|
|
@ -665,13 +665,15 @@ NAME: my-release
|
||||||
| server.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry |
|
| server.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry |
|
||||||
| server.ingress.annotations | object | `{}` | Additional ingress annotations |
|
| server.ingress.annotations | object | `{}` | Additional ingress annotations |
|
||||||
| server.ingress.enabled | bool | `false` | Enable an ingress resource for the Argo CD server |
|
| server.ingress.enabled | bool | `false` | Enable an ingress resource for the Argo CD server |
|
||||||
| server.ingress.extraPaths | list | `[]` | Additional ingress paths |
|
| server.ingress.extraPaths | list | `[]` | |
|
||||||
| server.ingress.hosts | list | `[]` | List of ingress hosts |
|
| server.ingress.hosts | list | `[]` | List of ingress hosts |
|
||||||
| server.ingress.https | bool | `false` | Uses `server.service.servicePortHttps` instead `server.service.servicePortHttp` |
|
| server.ingress.https | bool | `false` | Uses `server.service.servicePortHttps` instead `server.service.servicePortHttp` |
|
||||||
| server.ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource |
|
| server.ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource |
|
||||||
| server.ingress.labels | object | `{}` | Additional ingress labels |
|
| server.ingress.labels | object | `{}` | Additional ingress labels |
|
||||||
| server.ingress.pathType | string | `"Prefix"` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` |
|
| server.ingress.paths[0].path | string | `"/"` | |
|
||||||
| server.ingress.paths | list | `["/"]` | List of ingress paths |
|
| server.ingress.paths[0].pathType | string | `"Prefix"` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` |
|
||||||
|
| server.ingress.paths[0].service.name | string | argo-cd server service name | Backend service name |
|
||||||
|
| server.ingress.paths[0].service.port | string | argo-cd server service port | Backend service port. Can be String or Int value. |
|
||||||
| server.ingress.tls | list | `[]` | Ingress TLS configuration |
|
| server.ingress.tls | list | `[]` | Ingress TLS configuration |
|
||||||
| server.ingressGrpc.annotations | object | `{}` | Additional ingress annotations for dedicated [gRPC-ingress] |
|
| server.ingressGrpc.annotations | object | `{}` | Additional ingress annotations for dedicated [gRPC-ingress] |
|
||||||
| server.ingressGrpc.awsALB.backendProtocolVersion | string | `"HTTP2"` | Backend protocol version for the AWS ALB gRPC service |
|
| server.ingressGrpc.awsALB.backendProtocolVersion | string | `"HTTP2"` | Backend protocol version for the AWS ALB gRPC service |
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{{- if .Values.server.ingress.enabled -}}
|
{{- if .Values.server.ingress.enabled -}}
|
||||||
|
{{- $serviceName := include "argo-cd.server.fullname" $ -}}
|
||||||
{{- $servicePort := ternary .Values.server.service.servicePortHttps .Values.server.service.servicePortHttp .Values.server.ingress.https -}}
|
{{- $servicePort := ternary .Values.server.service.servicePortHttps .Values.server.service.servicePortHttp .Values.server.ingress.https -}}
|
||||||
{{- $paths := .Values.server.ingress.paths -}}
|
{{- $paths := .Values.server.ingress.paths -}}
|
||||||
{{- $extraPaths := .Values.server.ingress.extraPaths -}}
|
{{- $extraPaths := .Values.server.ingress.extraPaths -}}
|
||||||
{{- $pathType := .Values.server.ingress.pathType -}}
|
|
||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
|
@ -29,36 +29,27 @@ spec:
|
||||||
rules:
|
rules:
|
||||||
{{- if .Values.server.ingress.hosts }}
|
{{- if .Values.server.ingress.hosts }}
|
||||||
{{- range $host := .Values.server.ingress.hosts }}
|
{{- range $host := .Values.server.ingress.hosts }}
|
||||||
|
{{- if and $.Values.server.ingressGrpc.isAWSALB $.Values.server.ingressGrpc.enabled }}
|
||||||
|
{{ $serviceName = printf "%s-grpc" (include "argo-cd.server.fullname" $) }}
|
||||||
|
{{- end }}
|
||||||
- host: {{ $host }}
|
- host: {{ $host }}
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
{{- with $extraPaths }}
|
{{- with $extraPaths }}
|
||||||
{{- toYaml . | nindent 10 }}
|
{{- toYaml . | nindent 10 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range $p := $paths }}
|
{{- range $paths }}
|
||||||
{{- if and $.Values.server.ingressGrpc.isAWSALB $.Values.server.ingressGrpc.enabled }}
|
{{ $backendServicePort := .service.port | default $servicePort }}
|
||||||
- path: {{ $p }}
|
- path: {{ .path }}
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
backend:
|
backend:
|
||||||
service:
|
service:
|
||||||
name: {{ template "argo-cd.server.fullname" $ }}-grpc
|
name: {{ .service.name | default $serviceName }}
|
||||||
port:
|
port:
|
||||||
{{- if kindIs "float64" $servicePort }}
|
{{- if kindIs "float64" $backendServicePort }}
|
||||||
number: {{ $servicePort }}
|
number: {{ $backendServicePort }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
name: {{ $servicePort }}
|
name: {{ $backendServicePort }}
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
- path: {{ $p }}
|
|
||||||
pathType: {{ $pathType }}
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: {{ include "argo-cd.server.fullname" $ }}
|
|
||||||
port:
|
|
||||||
{{- if kindIs "float64" $servicePort }}
|
|
||||||
number: {{ $servicePort }}
|
|
||||||
{{- else }}
|
|
||||||
name: {{ $servicePort }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
@ -68,17 +59,18 @@ spec:
|
||||||
{{- with $extraPaths }}
|
{{- with $extraPaths }}
|
||||||
{{- toYaml . | nindent 10 }}
|
{{- toYaml . | nindent 10 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range $p := $paths }}
|
{{- range $paths }}
|
||||||
- path: {{ $p }}
|
{{ $backendServicePort := .service.port | default $servicePort }}
|
||||||
pathType: {{ $pathType }}
|
- path: {{ .path }}
|
||||||
|
pathType: {{ .pathType }}
|
||||||
backend:
|
backend:
|
||||||
service:
|
service:
|
||||||
name: {{ include "argo-cd.server.fullname" $ }}
|
name: {{ .service.name | default $serviceName }}
|
||||||
port:
|
port:
|
||||||
{{- if kindIs "float64" $servicePort }}
|
{{- if kindIs "float64" $backendServicePort }}
|
||||||
number: {{ $servicePort }}
|
number: {{ $backendServicePort }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
name: {{ $servicePort }}
|
name: {{ $backendServicePort }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
|
@ -1666,12 +1666,18 @@ server:
|
||||||
hosts: []
|
hosts: []
|
||||||
# - argocd.example.com
|
# - argocd.example.com
|
||||||
|
|
||||||
# -- List of ingress paths
|
|
||||||
paths:
|
paths:
|
||||||
- /
|
- path: /
|
||||||
# -- Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific`
|
# -- Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific`
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
# -- Additional ingress paths
|
service:
|
||||||
|
# -- Backend service name
|
||||||
|
# @default -- argo-cd server service name
|
||||||
|
name: ""
|
||||||
|
# -- Backend service port. Can be String or Int value.
|
||||||
|
# @default -- argo-cd server service port
|
||||||
|
port: ""
|
||||||
|
|
||||||
extraPaths: []
|
extraPaths: []
|
||||||
# - path: /*
|
# - path: /*
|
||||||
# pathType: Prefix
|
# pathType: Prefix
|
||||||
|
|
Loading…
Reference in a new issue