feat(argo-cd ingress): support google managed certificates for gce ingress (#1088)
* Add support for Google ManagedCertificates Signed-off-by: Robert Lindner <robert.lindner@delivion.de> * Add support for Google FrontendConfigs I.e. for adding a http to https redirect on the load balancer. Signed-off-by: Robert Lindner <robert.lindner@delivion.de> * Apply changes from code review Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com> Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
This commit is contained in:
parent
554d150df9
commit
79114c5122
6 changed files with 51 additions and 2 deletions
|
@ -2,7 +2,7 @@ apiVersion: v2
|
||||||
appVersion: v2.2.2
|
appVersion: v2.2.2
|
||||||
description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||||
name: argo-cd
|
name: argo-cd
|
||||||
version: 3.29.5
|
version: 3.30.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
|
||||||
keywords:
|
keywords:
|
||||||
|
@ -21,4 +21,5 @@ dependencies:
|
||||||
condition: redis-ha.enabled
|
condition: redis-ha.enabled
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- "[Changed]: Update to app version 2.2.2"
|
- "[Added]: Add support for Google ManagedCertificate on GKE
|
||||||
|
- "[Added]: Add support for Google FrontendConfig on GKE
|
||||||
|
|
|
@ -374,6 +374,10 @@ NAME: my-release
|
||||||
|-----|------|---------|-------------|
|
|-----|------|---------|-------------|
|
||||||
| server.GKEbackendConfig.enabled | bool | `false` | Enable BackendConfig custom resource for Google Kubernetes Engine |
|
| server.GKEbackendConfig.enabled | bool | `false` | Enable BackendConfig custom resource for Google Kubernetes Engine |
|
||||||
| server.GKEbackendConfig.spec | object | `{}` | [BackendConfigSpec] |
|
| server.GKEbackendConfig.spec | object | `{}` | [BackendConfigSpec] |
|
||||||
|
| server.GKEfrontendConfig.enabled | bool | `false` | Enable FrontConfig custom resource for Google Kubernetes Engine |
|
||||||
|
| server.GKEfrontendConfig.spec | object | `{}` | [FrontendConfigSpec] |
|
||||||
|
| server.GKEmanagedCertificate.domains | list | `["argocd.example.com"]` | Domains for the Google Managed Certificate |
|
||||||
|
| server.GKEmanagedCertificate.enabled | bool | `false` | Enable ManagedCertificate custom resource for Google Kubernetes Engine. |
|
||||||
| server.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
|
| server.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
|
||||||
| server.autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for the Argo CD server |
|
| server.autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for the Argo CD server |
|
||||||
| server.autoscaling.maxReplicas | int | `5` | Maximum number of replicas for the Argo CD server [HPA] |
|
| server.autoscaling.maxReplicas | int | `5` | Maximum number of replicas for the Argo CD server [HPA] |
|
||||||
|
@ -651,6 +655,7 @@ 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/
|
||||||
[external cluster credentials]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#clusters
|
[external cluster credentials]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#clusters
|
||||||
|
[FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
|
||||||
[General Argo CD configuration]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#repositories
|
[General Argo CD configuration]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#repositories
|
||||||
[gRPC-ingress]: https://argoproj.github.io/argo-cd/operator-manual/ingress/
|
[gRPC-ingress]: https://argoproj.github.io/argo-cd/operator-manual/ingress/
|
||||||
[HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
[HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
||||||
|
|
|
@ -285,6 +285,7 @@ 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/
|
||||||
[external cluster credentials]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#clusters
|
[external cluster credentials]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#clusters
|
||||||
|
[FrontendConfigSpec]: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
|
||||||
[General Argo CD configuration]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#repositories
|
[General Argo CD configuration]: https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#repositories
|
||||||
[gRPC-ingress]: https://argoproj.github.io/argo-cd/operator-manual/ingress/
|
[gRPC-ingress]: https://argoproj.github.io/argo-cd/operator-manual/ingress/
|
||||||
[HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
[HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
||||||
|
|
10
charts/argo-cd/templates/argocd-server/frontendconfig.yaml
Normal file
10
charts/argo-cd/templates/argocd-server/frontendconfig.yaml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{{- if .Values.server.GKEfrontendConfig.enabled }}
|
||||||
|
apiVersion: networking.gke.io/v1beta1
|
||||||
|
kind: FrontendConfig
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.server.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
{{- toYaml .Values.server.GKEfrontendConfig.spec | nindent 2 }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{{- if .Values.server.GKEmanagedCertificate.enabled }}
|
||||||
|
apiVersion: networking.gke.io/v1
|
||||||
|
kind: ManagedCertificate
|
||||||
|
metadata:
|
||||||
|
name: {{ template "argo-cd.server.fullname" . }}
|
||||||
|
spec:
|
||||||
|
domains:
|
||||||
|
{{- with .Values.server.GKEmanagedCertificate.domains }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -1233,6 +1233,27 @@ server:
|
||||||
# oauthclientCredentials:
|
# oauthclientCredentials:
|
||||||
# secretName: argocd-secret
|
# secretName: argocd-secret
|
||||||
|
|
||||||
|
## Create a Google Managed Certificate for use with the GKE Ingress Controller
|
||||||
|
## https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs
|
||||||
|
GKEmanagedCertificate:
|
||||||
|
# -- Enable ManagedCertificate custom resource for Google Kubernetes Engine.
|
||||||
|
enabled: false
|
||||||
|
# -- Domains for the Google Managed Certificate
|
||||||
|
domains:
|
||||||
|
- argocd.example.com
|
||||||
|
|
||||||
|
## Create a Google FrontendConfig Custom Resource, for use with the GKE Ingress Controller
|
||||||
|
## https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
|
||||||
|
GKEfrontendConfig:
|
||||||
|
# -- Enable FrontConfig custom resource for Google Kubernetes Engine
|
||||||
|
enabled: false
|
||||||
|
# -- [FrontendConfigSpec]
|
||||||
|
spec: {}
|
||||||
|
# spec:
|
||||||
|
# redirectToHttps:
|
||||||
|
# enabled: true
|
||||||
|
# responseCodeName: RESPONSE_CODE
|
||||||
|
|
||||||
# -- Additional containers to be added to the server pod
|
# -- Additional containers to be added to the server pod
|
||||||
## See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.
|
## See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.
|
||||||
extraContainers: []
|
extraContainers: []
|
||||||
|
|
Loading…
Reference in a new issue