Octopus
1.x
Docs/Octopus/Kubernetes
Open

Reading1 min
Updated31 Jul 2026
Sourcev1/kubernetes/index.mdx

Kubernetes

Octopus is Kubernetes-first. The same binary that runs as a standalone gateway can also run an in-process operator that watches the cluster and programs its own router — no sidecar, no separate control plane. It understands two complementary resource models:

  • The Kubernetes Gateway APIGatewayClass, Gateway, HTTPRoute, GRPCRoute, and ReferenceGrant.

  • Octopus CRDsOctopusGateway, OctopusRoute, OctopusUpstream, and OctopusPolicy, which expose Octopus-specific features (auth, rate limiting, canaries, …) that the portable Gateway API does not model.

Both are reconciled into the same internal route table, so you can adopt the portable Gateway API and reach for Octopus CRDs only where you need gateway-specific behaviour.

Note

Enable the operator with kubernetes.enabled: true. Install the Octopus CRDs with octopus crd | kubectl apply -f -, and install the upstream Gateway API CRDs separately if you use HTTPRoute/GRPCRoute.

What you get01

  • Operator — watches Gateway API and Octopus resources, reconciles them into live routes, and writes status back.

  • Health probes/livez, /readyz, and /startupz on the listen port for Kubernetes liveness/readiness/startup probes.

  • Graceful drain — on SIGTERM, readiness flips to 503 and a configurable delay lets kube-proxy stop routing before in-flight requests drain.

  • EndpointSlice discovery — Pod endpoints are discovered via the discovery.k8s.io/v1 EndpointSlice API, reflecting scale up/down.

  • TLS via cert-manager — terminate TLS using certificates from Gateway listener Secrets, hot-reloaded as they rotate.

  • Helm chart — install with RBAC, probes, autoscaling, and a ServiceMonitor.

In this section02