This commit includes the complete Kubernetes infrastructure deployment for NGE6: - Crossplane setup with providers (Kubernetes, Helm, Civo) - Ambassador/Emissary ingress controller with SSL termination - Cert-manager with Let's Encrypt and Gandi webhook for DNS01 challenges - ExternalDNS integration with Gandi for automatic DNS management - Keycloak authentication server with PostgreSQL - Pomerium identity-aware proxy with OIDC integration - Forgejo Git server with persistent storage and authentication - Spire/SPIFFE for secure service communication All services are deployed using Infrastructure as Code principles with Crossplane managing Kubernetes and Helm resources declaratively. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
11 lines
962 B
YAML
11 lines
962 B
YAML
{{- if and (and .Values.ingressController.enabled (not .Values.ingressController.operatorMode)) .Values.config.insecureProxy -}}
|
|
{{ fail "`ingressController.enabled` is not compatible with `config.insecureProxy`" }}
|
|
{{- end -}}
|
|
{{- if and .Values.ingressController.enabled (not (or .Values.config.generateTLS .Values.authenticate.ingress.tls.secretName )) -}}
|
|
{{- if not .Values.ingressController.ingressClassResource.defaultCertSecret -}}
|
|
{{ fail "A TLS certificate must be available for Authenticate when using the ingress controller. Please set `config.generateTLS`, `ingressController.ingressClassResource.defaultCertSecret` or `authenticate.ingress.tls.secretName"}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- if and (and .Values.ingressController.enabled (not .Values.ingressController.operatorMode)) .Values.ingress.enabled -}}
|
|
{{ fail "`ingressController.enabled` is not compatible with `ingress.enabled` unless legacy `ingressController.operatorMode`" }}
|
|
{{- end -}}
|