Skip to content

Helm install

Coxswain is published as an OCI Helm chart at ghcr.io/coxswain-labs/charts/coxswain.

Install

# Install Gateway API CRDs first (prerequisite — once per cluster)
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/latest/download/standard-install.yaml

# Install the latest release
helm install coxswain oci://ghcr.io/coxswain-labs/charts/coxswain \
  --namespace coxswain-system --create-namespace

To pin a specific version (replace X.Y.Z with the release you want):

helm install coxswain oci://ghcr.io/coxswain-labs/charts/coxswain \
  --version X.Y.Z \
  --namespace coxswain-system --create-namespace

Upgrade

helm upgrade coxswain oci://ghcr.io/coxswain-labs/charts/coxswain \
  --namespace coxswain-system

Inspect default values

helm show values oci://ghcr.io/coxswain-labs/charts/coxswain

Common values

Value Default Description
replicaCount 1 Number of controller replicas (run ≥ 2 in production)
image.tag (chart appVersion) Image tag to deploy
controller.name coxswain-labs.dev/gateway-controller GatewayClass controllerName to claim
controller.watchNamespace "" Restrict watch to a single namespace; empty = cluster-wide
proxy.http.port 80 HTTP proxy listener port
proxy.https.port 443 HTTPS proxy listener port
proxy.threads 2 Worker threads per proxy service
resources.requests.cpu 100m CPU request
resources.requests.memory 128Mi Memory request
resources.limits.cpu 500m CPU limit
resources.limits.memory 256Mi Memory limit

See the Helm chart README for the full values reference.

Namespace-scoped install

By default Coxswain watches the entire cluster. To restrict to a single namespace:

helm install coxswain oci://ghcr.io/coxswain-labs/charts/coxswain \
  --namespace coxswain-system --create-namespace \
  --set controller.watchNamespace=my-namespace

Note

controller.watchNamespace only narrows what the controller reads — the chart still installs the cluster-wide ClusterRole/ClusterRoleBinding. To scope RBAC as well, render the manifests with helm template and edit them by hand before applying.

Uninstall

helm uninstall coxswain --namespace coxswain-system
kubectl delete namespace coxswain-system

Warning

The Gateway API CRDs are not removed — uninstalling them would delete all Gateway and HTTPRoute objects in the cluster.