feat: configure Caddy v2 edge proxy (#92) #197

Merged
shahondin1624 merged 1 commits from feature/issue-92-caddy-proxy into main 2026-03-11 10:43:17 +01:00

Summary

  • Caddyfile with reverse proxy to orchestrator via h2c (gRPC)
  • Self-signed TLS for local dev, automatic Let's Encrypt for production
  • /healthz endpoint for monitoring
  • Internal services no longer exposed directly (orchestrator port removed)
  • Caddy data/config volumes for TLS certificate persistence

Configuration

  • DOMAIN env var: set to your domain for Let's Encrypt (default: localhost)
  • TLS_MODE env var: internal for self-signed (default), omit for Let's Encrypt
  • Ports 80/443 exposed via HTTP_PORT/HTTPS_PORT env vars

Test Plan

  • docker compose config validates successfully
  • Caddyfile syntax is valid

Closes #92

## Summary - Caddyfile with reverse proxy to orchestrator via h2c (gRPC) - Self-signed TLS for local dev, automatic Let's Encrypt for production - /healthz endpoint for monitoring - Internal services no longer exposed directly (orchestrator port removed) - Caddy data/config volumes for TLS certificate persistence ## Configuration - `DOMAIN` env var: set to your domain for Let's Encrypt (default: `localhost`) - `TLS_MODE` env var: `internal` for self-signed (default), omit for Let's Encrypt - Ports 80/443 exposed via `HTTP_PORT`/`HTTPS_PORT` env vars ## Test Plan - [x] `docker compose config` validates successfully - [x] Caddyfile syntax is valid Closes #92
shahondin1624 added 1 commit 2026-03-11 10:43:13 +01:00
Add Caddy reverse proxy with self-signed TLS for local dev and
automatic Let's Encrypt for production domains. Routes all external
traffic through Caddy to the orchestrator via h2c. Internal services
are no longer exposed directly. Includes /healthz endpoint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
shahondin1624 merged commit a55ed3d8ff into main 2026-03-11 10:43:17 +01:00
shahondin1624 deleted branch feature/issue-92-caddy-proxy 2026-03-11 10:43:17 +01:00
Sign in to join this conversation.