feat: operationalise project bus for Sandbox
This commit is contained in:
+12
-1
@@ -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:
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user