Installation¶
This guide covers installing the Pingora Gateway Controller using Helm.
Helm Installation¶
Helm is the recommended installation method. It handles CRD installation, RBAC setup, and provides a simple upgrade path.
Basic Installation¶
helm install pingora-gateway-controller \
oci://ghcr.io/lexfrei/pingora-gateway-controller/chart \
--namespace pingora-system \
--create-namespace
This installs both the controller and the Pingora proxy with default settings.
Installation with Values File¶
Create a values.yaml file for customization:
# Controller settings
controller:
gatewayClassName: "pingora"
logLevel: "info"
logFormat: "json"
# Enable leader election for HA deployments
leaderElection:
enabled: true
# Multiple controller replicas for high availability
replicaCount: 2
# Proxy settings
proxy:
enabled: true
replicaCount: 3
resources:
limits:
cpu: 1
memory: 1Gi
requests:
cpu: 200m
memory: 256Mi
# Enable Prometheus ServiceMonitor
serviceMonitor:
enabled: true
Then install:
helm install pingora-gateway-controller \
oci://ghcr.io/lexfrei/pingora-gateway-controller/chart \
--namespace pingora-system \
--create-namespace \
--values values.yaml
Verify Installation¶
Check that the controller is running:
Expected output:
NAME READY STATUS RESTARTS AGE
pingora-gateway-controller-7d8f9b6c5d-x2j9k 1/1 Running 0 30s
pingora-gateway-controller-proxy-5c4d8b7f6c-m8n3l 1/1 Running 0 30s
pingora-gateway-controller-proxy-5c4d8b7f6c-k9p2q 1/1 Running 0 30s
Check GatewayClass:
Expected output:
Check Gateway:
Upgrading¶
To upgrade to a newer version:
helm upgrade pingora-gateway-controller \
oci://ghcr.io/lexfrei/pingora-gateway-controller/chart \
--namespace pingora-system \
--values values.yaml
Uninstalling¶
To remove the controller:
Cleanup
Uninstalling the Helm release will remove the controller and proxy pods. Gateway and HTTPRoute resources in other namespaces will remain but become non-functional. Clean them up if no longer needed.
Manual Installation¶
For environments where Helm is not available, see Manual Installation for raw Kubernetes manifests.
Next Steps¶
After installation, proceed to Quick Start to create your first HTTPRoute.