feat: operationalise project bus for Sandbox

This commit is contained in:
Codex Lead Engineer
2026-07-30 20:06:34 +02:00
parent a2229bc269
commit 8e4bee1de4
11 changed files with 702 additions and 1 deletions
+12 -1
View File
@@ -8,6 +8,7 @@ services:
PROJECT_BUS_BOOTSTRAP_TOKEN: "${PROJECT_BUS_BOOTSTRAP_TOKEN:?set a strong bootstrap token}"
PROJECT_BUS_TOKENS_JSON: "${PROJECT_BUS_TOKENS_JSON:-}"
PROJECT_BUS_ALLOWED_ORIGINS: "${PROJECT_BUS_ALLOWED_ORIGINS:-}"
PROJECT_BUS_LOG_LEVEL: "${PROJECT_BUS_LOG_LEVEL:-INFO}"
ports:
- "127.0.0.1:8080:8080"
volumes:
@@ -19,7 +20,17 @@ services:
- no-new-privileges:true
cap_drop:
- ALL
healthcheck:
test:
- CMD
- python
- -c
- "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8080/healthz', timeout=2)"
interval: 10s
timeout: 3s
retries: 3
start_period: 5s
stop_grace_period: 15s
volumes:
project-bus-data:
+6
View File
@@ -0,0 +1,6 @@
# Copy outside Git, restrict to the service administrator, and replace every
# placeholder. Never commit the populated file.
PROJECT_BUS_BOOTSTRAP_TOKEN=replace-with-at-least-24-random-characters
PROJECT_BUS_TOKENS_JSON={"replace-po-token":{"actor_id":"sandbox-po","auth_subject":"sandbox-po","display_name":"Dillard / Product Owner"},"replace-pm-token":{"actor_id":"sandbox-pm","auth_subject":"sandbox-pm","display_name":"Sandbox PM"},"replace-pa-token":{"actor_id":"sandbox-pa","auth_subject":"sandbox-pa","display_name":"Sandbox PA"},"replace-codex-token":{"actor_id":"codex-implementer","auth_subject":"codex-implementer","display_name":"Codex Implementer"},"replace-claude-token":{"actor_id":"claude-reviewer","auth_subject":"claude-reviewer","display_name":"Claude Code Reviewer"}}
PROJECT_BUS_ALLOWED_ORIGINS=
PROJECT_BUS_LOG_LEVEL=INFO
+39
View File
@@ -0,0 +1,39 @@
{
"project": {
"project_id": "epimonos-sandbox",
"name": "Epimonos Sandbox",
"description": "BASDM-governed Sandbox project coordination"
},
"actors": [
{
"actor_id": "sandbox-po",
"auth_subject": "sandbox-po",
"display_name": "Dillard / Product Owner",
"role": "PO"
},
{
"actor_id": "sandbox-pm",
"auth_subject": "sandbox-pm",
"display_name": "Sandbox PM",
"role": "PM"
},
{
"actor_id": "sandbox-pa",
"auth_subject": "sandbox-pa",
"display_name": "Sandbox PA",
"role": "PA"
},
{
"actor_id": "codex-implementer",
"auth_subject": "codex-implementer",
"display_name": "Codex Implementer",
"role": "IMPLEMENTER"
},
{
"actor_id": "claude-reviewer",
"auth_subject": "claude-reviewer",
"display_name": "Claude Code Reviewer",
"role": "REVIEWER"
}
]
}