FREEDOM251

Freedom251 › Kubernetes Ingress Controllers

Caddy Gateway

Free plan APILinuxSelf-hosted

Visit Caddy Gateway Alternatives

Caddy Gateway's own site

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

  1. Prepare a Kubernetes cluster with networking and DNS configured.
  2. Install Gateway API v1.4.0 CRDs in the cluster.
  3. Provide a Caddy instance as a Deployment or DaemonSet.
  4. Deploy the Caddy Gateway controller.
  5. 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

Look at these too