feat(orchestrator): slice 13c(vi) — consolidated launch sequence (composition) #376
Closed
didericis-claude
wants to merge 1 commits from
orchestrator-consolidated-launch into orchestrator-gateway-provision
pull from: orchestrator-consolidated-launch
merge into: didericis:orchestrator-gateway-provision
didericis:main
didericis:post-build-image-smoke-test
didericis:lazy-backend-imports
didericis:orchestrator-agent-compose
didericis:orchestrator-gateway-ca
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-writers
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
No Reviewers
Labels
Clear labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Breaking change that won't be backward compatible
Something is not working
Documentation changes
Improve existing functionality
New functionality
This is security issue
Issue or pull request related to testing
Priority
Critical
1
The priority is critical
Priority
High
2
The priority is high
Priority
Low
4
The priority is low
Priority
Medium
3
The priority is medium
Reviewed
Confirmed
1
Issue has been confirmed
Reviewed
Duplicate
2
This issue or pull request already exists
Reviewed
Invalid
3
Invalid issue
Reviewed
Won't Fix
3
This issue won't be fixed
Status
Abandoned
3
Somebody has started to work on this but abandoned work
Status
Blocked
1
Something is blocking this issue or pull request
Status
Need More Info
2
Feedback is required to reproduce issue or to continue work
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: didericis/bot-bottle#376
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "orchestrator-consolidated-launch"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Sub-slice of slice 13c — the top-level composition that ties the primitives together.
launch_consolidated(egress_plan, git_gate_plan)Returns a
LaunchContext(bottle_id, identity_token, source_ip, network, gateway_ip, orchestrator_url) — everything the agent container needs to attach. Rolls the registration back if provisioning fails, so a partial launch leaves no orphan.teardown_consolidated(bottle_id)deregisters + deprovisions (idempotent).The agent
docker runitself stays the backend's job (provider provisioning) — this owns the orchestrator-facing wiring so the sequence is unit-testable: collaborators mocked,next_free_ip+registration_inputsrun for real (IP allocation + the policy blob asserted end to end, including the rollback path).Verification
pyright 0 errors, pylint 9.83/10 (new files 10.00), unit suite green (1755 tests; the 13
test_sidecar_init/bin/sleeperrors are pre-existing NixOS-local noise).Stacked on #375.
🤖 Generated with Claude Code
Composes the orchestrator primitives into the register/teardown sequence that replaces the per-bottle bundle: launch_consolidated(egress_plan, git_gate_plan): ensure orchestrator + gateway up -> read the gateway network's subnet + the gateway's own address -> allocate the bottle a pinned source IP (skip the gateway + live bottles) -> register (egress policy blob + slug metadata) -> provision its git-gate repos/creds into the gateway. Returns a LaunchContext (bottle_id, identity_token, source_ip, network, gateway_ip, orchestrator_url) — everything the agent container needs to attach. Rolls the registration back if provisioning fails, so no orphan. teardown_consolidated(bottle_id): deregister + deprovision (idempotent). The agent `docker run` itself stays the backend's job (provider provisioning); this owns the orchestrator-facing wiring so the sequence is unit-testable — collaborators mocked, next_free_ip + registration_inputs run for real (IP allocation + policy blob asserted end to end). pyright 0 errors; pylint 9.83/10; unit suite green (1755 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_01WBMWTEtQdJ4W5UrWuLHCckCollapsed into the single stack PR #380 (per-host orchestrator, PRD 0070). Closing this slice PR; review + merge happens on #380.
Pull request closed