Skip to main content
  • Deployment model: On-premises
  • Configuration reference: Qodo Helm chart 7.22.0.
Use this pattern with the GKE Ingress controller and the HTTP load-balancing addon. Prepare a VPC-native cluster, load-balancer firewall access, the required Google Cloud permissions, and a ready qodo-tls Secret covering all resolved Qodo hosts. For more information, see Configure ingress.

Configure values

Download ingress-google-cloud-values.yaml in the values archive. This example creates an external GKE Application Load Balancer:
ingress-google-cloud-values.yaml
Keep className empty. GKE selects its controller through the kubernetes.io/ingress.class annotation. The HTTPS-only configuration requires the TLS Secret to be ready first. Also apply values-gke.yaml from the same Qodo release. It annotates each public ClusterIP Service for network endpoint groups (NEGs), creates the Platform and QAR timeout BackendConfigs, and configures Zitadel’s /debug/healthz health check on port 8083. These settings belong on Services and BackendConfigs; setting only the Ingress annotation is insufficient. For more information, see GKE Ingress configuration.
Define KUBE_CONTEXT and NAMESPACE as in the shared ingress page. Keep the release’s GKE layer last, and do not use it with a different ingress controller. For an internal load balancer, change the annotation to gce-internal and satisfy GKE’s regional subnet, proxy-only subnet, firewall, certificate, and caller-connectivity prerequisites first. A private address must remain reachable from your Git webhook provider. For more information, see Configure an internal Application Load Balancer.

Verify the load balancer

Check the Service NEG annotations and cloud backend health. Complete the shared TLS, discovery, browser login, SDK, and webhook acceptance checks.