feat(supervise+orchestrator): slice 12 — multi-tenant git-gate hook + supervise server #368
Closed
didericis-claude
wants to merge 1 commits from
orchestrator-supervise-writers into orchestrator-supervise-multitenant
pull from: orchestrator-supervise-writers
merge into: didericis:orchestrator-supervise-multitenant
didericis:main
didericis:firecracker-consolidated-launch
didericis:lazy-backend-imports
didericis:orchestrator-agent-compose
didericis:orchestrator-gateway-ca
didericis:orchestrator-consolidated-launch
didericis:orchestrator-gateway-provision
didericis:orchestrator-gateway-network
didericis:orchestrator-client
didericis:orchestrator-gateway-net
didericis:orchestrator-gitgate-provision
didericis:orchestrator-registration
didericis:orchestrator-lifecycle
didericis:orchestrator-supervise-multitenant
didericis:orchestrator-gitgate-multitenant
didericis:orchestrator-rename-gateway
didericis:orchestrator-slice8
didericis:orchestrator-slice7
didericis:orchestrator-slice6
didericis:prd-orchestrator
didericis:orchestrator-slice5
didericis:orchestrator-slice4
didericis:orchestrator-slice3
didericis:orchestrator-slice2
didericis:ci-kvm-runner
didericis:firecracker-backend
didericis:issue-330-cached-images
didericis:forge-native-integration
didericis:prd-smolmachines-linux
didericis:claude-forward-host-credentials
didericis:fold-orchestrator-subpackage
didericis:prd-egress-control-plane
didericis:manifest-break-import-cycle
didericis:dlp-supervise-quality-fixes
didericis:table-drive-dlp-tests
didericis:fix-integration-test-failures
didericis:fix/macos-container-relative-dockerfile
didericis:prd-0054-install-script
didericis:commit-bottle-state
didericis:pr-211
didericis:move-codex-auth-to-contrib
didericis:feat/pipelock-skip-scan-extensions
didericis:prd-0049-named-labelled-agents
didericis:harden-git-gate-shell-rendering
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
80d75de08a |
feat(supervise+orchestrator): slice 12 — multi-tenant git-gate hook + supervise server
Finishes the supervise data-plane writers for the shared gateway. Both still keyed off a single SUPERVISE_BOTTLE_SLUG env; now each proposal is attributed to the calling bottle, keeping slices 10/11's per-bottle model. - git_http_backend: in consolidated mode stamp SUPERVISE_BOTTLE_SLUG= <bottle_id> into the CGI env. The gitleaks-allow pre-receive hook runs as a child of the `git http-backend` we spawn, so it inherits the stamp and queues under the right bottle — no change to the (fragile) embedded hook. The bottle id is the namespaced root's final component (slice 10), the same key egress uses. Single-tenant leaves the container-stamped slug. - supervise_server: resolve the proposal slug per request by source IP when BOT_BOTTLE_ORCHESTRATOR_URL is set (`_attributed_config`), fail-closed — an unattributed / unreachable source raises rather than queue under the wrong or empty slug. `serve`/`main` build + attach the resolver and make the env slug optional in consolidated mode. Single-tenant unchanged. Tests: a real git push proving the slug reaches the hook's env; the supervise attribution matrix (single-tenant slug kept, source-IP bottle bound, unattributed + resolver-error fail closed). Remaining supervise gap (noted): websocket DLP still self.config-only. pyright 0 errors; pylint 9.83/10; unit suite green (1705 tests; the 13 test_sidecar_init /bin/sleep errors are pre-existing NixOS-local noise). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WBMWTEtQdJ4W5UrWuLHCck |