with one click
eg-install
Install Envoy Gateway via Helm with production-ready configuration
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Install Envoy Gateway via Helm with production-ready configuration
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Configure client-facing traffic policies -- timeouts, connection limits, TLS settings, HTTP behavior
Production-grade Envoy Gateway setup with comprehensive security, observability, high availability, and operational best practices
Integrate Envoy Gateway with Istio ambient mesh or Cilium for unified ingress and service mesh
Envoy Gateway version information, compatibility matrix, and upgrade readiness checks
Envoy AI Gateway contribution orchestrator — interviews you about your contribution and guides you through the correct workflow using contributor skills
Envoy Gateway contribution orchestrator — interviews you about your contribution and guides you through the correct workflow using contributor skills
| name | eg-install |
| description | Install Envoy Gateway via Helm with production-ready configuration |
| arguments | [{"name":"Version","description":"Envoy Gateway version (e.g., v1.7.0). Defaults to latest stable.","required":false},{"name":"Namespace","description":"Namespace for Envoy Gateway controller (default: envoy-gateway-system)","required":false}] |
Install Envoy Gateway into a Kubernetes cluster using the official Helm chart with a pinned version. This skill generates the Helm install command, verifies the deployment, and confirms the GatewayClass is accepted by the controller.
Determine the version and namespace. If the user did not provide values, use these defaults:
v1.7.0 (latest stable release targeting Gateway API v1.4)envoy-gateway-systemGenerate the Helm install command. The chart is hosted as an OCI artifact on Docker Hub.
# Install Envoy Gateway with Gateway API CRDs included
helm install eg oci://docker.io/envoyproxy/gateway-helm \
--version ${Version} \
-n ${Namespace} \
--create-namespace
The Helm chart bundles both the Gateway API CRDs (from the experimental channel, which includes TCPRoute, UDPRoute, TLSRoute, and BackendTLSPolicy) and the Envoy Gateway CRDs (ClientTrafficPolicy, BackendTrafficPolicy, SecurityPolicy, EnvoyProxy, etc.).
Note on CRD management: If you need to manage CRDs separately (for example, to control the Gateway API channel or handle upgrades independently), install the CRDs chart first:
helm template eg oci://docker.io/envoyproxy/gateway-crds-helm \ --version ${Version} \ --set crds.gatewayAPI.enabled=true \ --set crds.gatewayAPI.channel=standard \ --set crds.envoyGateway.enabled=true \ | kubectl apply --server-side -f - helm install eg oci://docker.io/envoyproxy/gateway-helm \ --version ${Version} \ -n ${Namespace} \ --create-namespace \ --skip-crds
kubectl wait --timeout=5m -n ${Namespace} \
deployment/envoy-gateway --for=condition=Available
Apply a GatewayClass that references the Envoy Gateway controller:
apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
name: eg
spec:
# This is the default controller name for Envoy Gateway.
# Each Envoy Gateway installation manages exactly one controller name.
controllerName: gateway.envoyproxy.io/gatewayclass-controller
Check that the GatewayClass is accepted:
kubectl get gatewayclass eg -o jsonpath='{.status.conditions[?(@.type=="Accepted")].status}'
# Expected output: True
If the status is not True, inspect conditions for details:
kubectl describe gatewayclass eg
kubectl get pods -n ${Namespace}
All pods should be in Running state with Ready status.
For production deployments, consider these Helm value overrides:
# values-production.yaml
deployment:
replicas: 2 # Run multiple controller replicas for HA
envoyGateway:
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 1024Mi
podDisruptionBudget:
maxUnavailable: 1 # Ensure at least one replica during disruptions
config:
envoyGateway:
logging:
level:
default: info # Use 'debug' only for troubleshooting
Install with the production values file:
helm install eg oci://docker.io/envoyproxy/gateway-helm \
--version ${Version} \
-n ${Namespace} \
--create-namespace \
-f values-production.yaml
To upgrade an existing installation:
helm upgrade eg oci://docker.io/envoyproxy/gateway-helm \
--version ${Version} \
-n ${Namespace}
Important: Review the release notes for your target version before upgrading. CRD changes may require manual steps. If you manage CRDs separately, update them before upgrading the controller:
helm template eg oci://docker.io/envoyproxy/gateway-crds-helm \ --version ${Version} \ | kubectl apply --server-side -f -
quickstart.yaml) uses self-signed certificates and is intended for testing only. Never use the quickstart configuration in production. Use the /eg-tls skill with cert-manager for proper TLS.envoy-gateway deployment is Available in the target namespaceAccepted: True in its status