- stackpilot-agent: slim token-guarded FastAPI (reuses compose_service) exposing stack CRUD/lifecycle/logs + system info; same image, different CMD. agent/ Dockerfile + compose + .env.example. - Central proxy: Agent model, agent_service (httpx ping/proxy + live status: online/offline/unauthorized + hostname/last_seen), routers/agents.py (CRUD + ping + proxied stacks/lifecycle/logs/system). - Frontend: Settings → Remote hosts (add/check/remove, connectivity dot); Stacks grouped by host; remote stack detail with lifecycle, live logs, compose/.env edit. Verified end-to-end: agent+main on a shared network — register (good/bad token), list/create/start/logs/delete remote stacks, offline detection (502). Remote backup destinations (SFTP/S3) deferred. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
8 lines
332 B
Bash
8 lines
332 B
Bash
# Shared secret the central StackPilot must present to manage this host.
|
|
# Generate with: openssl rand -base64 32
|
|
# Enter the SAME value when adding this host under Settings → Remote hosts.
|
|
AGENT_TOKEN=change-me-to-a-long-random-shared-secret
|
|
|
|
# Host directory where this host's stack folders live.
|
|
STACKS_HOST_DIR=./data/stacks
|