From c86abd29845fa6feb61b1fddb8e8bb41312d55a8 Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Mon, 15 Jun 2026 09:14:14 +0000 Subject: feat: service gateway framework + playground demo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Formalizes doot as an authenticated reverse proxy for arbitrary upstream services. Any local HTTP service can now be registered behind doot's existing auth + SSL layer with 3 lines of config. - Rename NewClaudomatorProxy → NewServiceProxy (generic) - Replace hard-coded claudomator proxy block with serviceMount slice loop - Add PlaygroundURL config (PLAYGROUND_URL env var) - Add playground/web/server.py: stdlib Python status page on port 9090 - Document pattern in .agent/design.md; update .env.example To add a new service: set its URL env var, add a config field, append one mount entry in main.go. Claudomator's GitHub webhook bypass is expressed as webhookPaths on its mount. Co-Authored-By: Claude Sonnet 4.6 --- .env.example | 6 ++++++ 1 file changed, 6 insertions(+) (limited to '.env.example') diff --git a/.env.example b/.env.example index e54a20b..fa70f68 100644 --- a/.env.example +++ b/.env.example @@ -30,3 +30,9 @@ CACHE_TTL_MINUTES=5 # Development Settings # Set to "true" to enable debug logging DEBUG=false + +# Service Gateway — additional upstream services proxied behind doot's auth + SSL +# Each service is exposed at /prefix/* and requires a logged-in session. +# To add a new service: set its URL here and register a mount in cmd/dashboard/main.go. +# CLAUDOMATOR_URL=http://127.0.0.1:8484 # already wired; override if running elsewhere +# PLAYGROUND_URL=http://127.0.0.1:9090 # playground demo (playground/web/server.py) -- cgit v1.2.3