Freedom251 › Kubernetes Ingress Controllers
Caddy Gateway

What Caddy Gateway is
Caddy Gateway is a Kubernetes Gateway API implementation that uses Caddy as its web server. Its controller watches Gateway API resources, creates Caddy JSON configuration, and sends it to associated Caddy pods. It uses Caddy’s Admin API to program Caddy dynamically without downtime. You provide the Caddy instance, which can run as a Deployment or DaemonSet; a single controller deployment can manage multiple separate Caddy deployments.
Supported resources include GatewayClass, Gateway, ReferenceGrant, BackendLBPolicy, BackendTLSPolicy, HTTPRoute, GRPCRoute, TLSRoute, TCPRoute, and UDPRoute. The cluster needs Gateway API v1.4.0 CRDs installed, with support for some optional experimental CRDs. Kubernetes Ingress resources are not supported, and the project says that support is not planned. Installation instructions assume an existing Kubernetes cluster configured with components such as networking and DNS. The project describes itself as work in progress and is licensed under the Apache License, Version 2.0. The latest release listed is v0.1.0, with Linux amd64 and arm64 assets. Caddy Gateway is free and available for API, Linux, and self-hosted use.
Who it suits
Caddy Gateway is for Kubernetes users who want to manage Caddy through Gateway API resources and already have a configured cluster. It may suit teams managing multiple separate Caddy deployments, provided they can supply the Caddy instances and required CRDs.
What it does well
- Dynamically updates Caddy configuration through its Admin API without downtime.
- One controller deployment can manage multiple Caddy deployments.
- Supports a range of Gateway API route and policy resources.
- Free under the Apache License, Version 2.0.
- Release assets are available for Linux amd64 and arm64.
What to know first
- The project describes itself as work in progress.
- Users must provide and run their own Caddy instance.
- Kubernetes Ingress resources are unsupported, with no support planned.
- The cluster must have Gateway API v1.4.0 CRDs installed.
Limits
Caddy Gateway requires Gateway API v1.4.0 CRDs, and Kubernetes Ingress resources are not supported. The controller also requires a Caddy instance supplied by the user.
Getting started
- Prepare a Kubernetes cluster with networking and DNS configured.
- Install Gateway API v1.4.0 CRDs in the cluster.
- Provide a Caddy instance as a Deployment or DaemonSet.
- Deploy the Caddy Gateway controller.
- Restrict Admin API access with strict NetworkPolicies and use TLS for the Admin API.
Verdict
Choose Caddy Gateway if you already run Kubernetes and want a controller for Caddy using Gateway API resources. Look elsewhere if you need Kubernetes Ingress support, or need a project that is not described as work in progress.
Questions
Does Caddy Gateway cost anything?
It is free and licensed under the Apache License, Version 2.0.
What does Caddy Gateway do?
It implements Kubernetes Gateway API using Caddy as the web server. The controller watches Gateway API resources and programs Caddy through its Admin API.
What cluster requirements does it have?
The project requires Gateway API v1.4.0 CRDs. Installation instructions assume a configured Kubernetes cluster with components such as networking and DNS.
Does it support Kubernetes Ingress resources?
No. Kubernetes Ingress resources are unsupported, and the project says support is not planned.
Do I need to provide Caddy?
Yes. The controller requires a Caddy instance, which can run as a Deployment or DaemonSet.
What does the project say about Admin API security?
It warns that without TLS on the Admin API, programmed certificates may be sent insecurely, and recommends strict NetworkPolicies to restrict API access.
Facts from Caddy Gateway's own pages
- Architecture
- The controller watches Gateway API resources, generates Caddy JSON configuration, and sends it to associated Caddy pods. · github.com, 7 Oct 2026
- Bring your own Caddy
- The controller requires a Caddy instance, which can run as a Deployment or DaemonSet; users can provide their own deployment. · github.com, 7 Oct 2026
- Compatibility requirement
- The project requires Gateway API v1.4.0 CRDs, with some optional experimental CRDs supported. · github.com, 7 Oct 2026
- Deployment model
- The controller can manage multiple separate Caddy deployments, and users must provide their own Caddy instance. · github.com, 7 Oct 2026
- Dynamic configuration
- The controller uses Caddy’s Admin API to program Caddy dynamically without downtime. · github.com, 7 Oct 2026
- Gateway API requirement
- The project requires Gateway API v1.4.0 CRDs to be installed in the cluster. · github.com, 7 Oct 2026
- Ingress limitation
- Kubernetes Ingress resources are not supported, and the README says support is not planned. · github.com, 7 Oct 2026
- Intended users
- Installation instructions assume users already have a Kubernetes cluster configured with components such as networking and DNS. · github.com, 7 Oct 2026
- License
- The project is licensed under the Apache License, Version 2.0. · github.com, 7 Oct 2026
- Multiple deployments
- One controller deployment can manage multiple separate Caddy deployments. · github.com, 7 Oct 2026
- Project status
- The project describes itself as work in progress. · github.com, 7 Oct 2026
- Purpose
- Caddy Gateway is a Kubernetes Gateway API implementation that uses Caddy as its web server. · github.com, 7 Oct 2026
- Release assets
- The releases page lists v0.1.0 assets for Linux amd64 and Linux arm64. · github.com, 7 Oct 2026
- Release status
- The releases page marks v0.1.0 as the latest release and dates it May 30, 2024. · github.com, 7 Oct 2026
- Security guidance
- The README warns that without TLS on Caddy’s Admin API, programmed certificates may be sent insecurely, and recommends strict NetworkPolicies to restrict API access. · github.com, 7 Oct 2026
- Supported resources
- The README lists GatewayClass, Gateway, ReferenceGrant, BackendLBPolicy, BackendTLSPolicy, HTTPRoute, GRPCRoute, TLSRoute, TCPRoute, and UDPRoute as supported resources. · github.com, 7 Oct 2026
Where Caddy Gateway stands on Freedom251
- Kubernetes Ingress Controllers#9 of 28