Replace Pebble with step-ca for local ACME

Pebble skipped real HTTP-01 validation, which hid integration gaps
for compliance-page custom domains. step-ca with a Caddy port-80
proxy exercises the same path production uses while keeping issued
certs persistent across compose restarts.

Signed-off-by: Bryan Frimin <bryan@probo.com>
This commit is contained in:
Bryan Frimin
2026-07-15 12:14:45 +02:00
parent e83f9e3a2e
commit 14604a3176
8 changed files with 79 additions and 51 deletions

View File

@@ -20,7 +20,8 @@
# PROBOD_API_ADDR=:8080
# PROBOD_API_CORS_ALLOWED_ORIGINS=http://localhost:8080,http://localhost:5173,http://localhost:5174,http://localhost:5175
# PROBOD_TRUST_CENTER_HTTP_ADDR=:10080
# PROBOD_TRUST_CENTER_HTTPS_ADDR=:10443
# PROBOD_TRUST_CENTER_HTTPS_ADDR=:443
# PROBOD_TRUST_CENTER_BASE_DOMAIN=probopage.localhost
# ── Observability ─────────────────────────────────────────────────────
# PROBOD_METRICS_ADDR=localhost:8081
@@ -154,7 +155,9 @@
# OAuth clients (e.g. MCP connectors). Leave unset to disable CIMD.
# PROBOD_OAUTH2_SERVER_CIMD_ALLOWED_CLIENT_IDS=https://chatgpt.com/oauth/client.json,https://claude.ai/oauth/client.json
# ── Custom domains (Pebble ACME via compose) ─────────────────────────
# ── Custom domains (step-ca ACME via compose) ─────────────────────────
# PROBOD_CUSTOM_DOMAINS_CNAME_TARGET=custom.getprobo.com
# PROBOD_ACME_DIRECTORY=https://localhost:14000/dir
# PROBOD_ACME_DIRECTORY=https://localhost:9000/acme/acme/directory
# PROBOD_ACME_EMAIL=admin@probo.com
# Install the local root once for browser/CIMD trust:
# step certificate install compose/step-ca/certs/root_ca.crt