Configure Caddy v2 edge proxy #92

Closed
opened 2026-03-08 10:53:16 +01:00 by shahondin1624 · 1 comment

Description

Configure Caddy v2 as the edge proxy: TLS termination, routing external requests to the Orchestrator, and blocking direct access to internal services.

Acceptance Criteria

  • Caddyfile with reverse proxy to Orchestrator
  • Automatic TLS via Let's Encrypt (or self-signed for local dev)
  • Internal services not exposed externally
  • gRPC-Web support for browser clients (optional)
  • Rate limiting on external endpoints
  • Health check endpoint exposed

Blocked by

## Description Configure Caddy v2 as the edge proxy: TLS termination, routing external requests to the Orchestrator, and blocking direct access to internal services. ## Acceptance Criteria - [ ] Caddyfile with reverse proxy to Orchestrator - [ ] Automatic TLS via Let's Encrypt (or self-signed for local dev) - [ ] Internal services not exposed externally - [ ] gRPC-Web support for browser clients (optional) - [ ] Rate limiting on external endpoints - [ ] Health check endpoint exposed ## Blocked by - #91
shahondin1624 added this to the Phase 11: Docker Compose (Single Machine) milestone 2026-03-08 10:53:16 +01:00
Author
Owner

Implementation Complete

Added Caddy v2 edge proxy:

  • docker/caddy/Caddyfile — reverse proxy to orchestrator via h2c, self-signed TLS for dev, /healthz endpoint
  • Updated docker/docker-compose.yml — Caddy service on ports 80/443, removed direct orchestrator port exposure

Deviations:

  • Rate limiting deferred (requires caddy-ratelimit plugin not in standard image)
  • gRPC-Web support deferred (optional per acceptance criteria)

Auto-merged via PR #197.

## Implementation Complete Added Caddy v2 edge proxy: - `docker/caddy/Caddyfile` — reverse proxy to orchestrator via h2c, self-signed TLS for dev, /healthz endpoint - Updated `docker/docker-compose.yml` — Caddy service on ports 80/443, removed direct orchestrator port exposure **Deviations:** - Rate limiting deferred (requires caddy-ratelimit plugin not in standard image) - gRPC-Web support deferred (optional per acceptance criteria) Auto-merged via PR #197.
Sign in to join this conversation.