77948ef56c
The per-agent companion container (the egress/git-gate/supervise data plane run once per bottle) is the pre-consolidation architecture. Remove it and disable the backends that still depend on it, per the #385 thread. - Delete `backend/docker/sidecar_bundle.py`; docker's live path uses the consolidated shared gateway, not a per-bottle bundle. - Disable the firecracker and macos-container backends: their `launch()` fails closed (they launched a per-bottle companion; firecracker's consolidated relaunch is #354, macos follows). Their `enumerate` return empty and `cleanup` drop the companion-container discovery (firecracker keeps VMM/run-dir cleanup). - Fail-close both backends' `egress_apply` reload (it signalled the per-bottle container); consolidated egress policy resolves per-request against the orchestrator, so gateway-side apply is a follow-up. - Rename `egress_sidecar_env_entries` → `egress_gateway_env_entries`, `SIDECAR_PORTS` → `GATEWAY_PORTS`. - Move the shared DockerBottlePlan fixture to `tests/unit/_docker_bottle_plan.py`; delete tests for the removed launch paths; update cleanup/egress-apply tests. Docker consolidated launch verified end-to-end (multitenant isolation integration test passes). macos/firecracker are intentionally disabled. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WBMWTEtQdJ4W5UrWuLHCck
40 lines
1.5 KiB
Python
40 lines
1.5 KiB
Python
"""Launch flow for the macOS Apple Container backend — disabled (#385).
|
|
|
|
This backend launched a per-bottle companion container (the egress /
|
|
git-gate / supervise data plane) alongside the agent container, with the
|
|
agent's proxy env pointed at the companion's host-only IP. That
|
|
per-bottle-companion architecture was removed in the de-sidecar cleanup;
|
|
the macOS backend will be re-enabled once it grows the consolidated
|
|
per-host gateway the docker backend already uses.
|
|
|
|
Until then, launching a macOS bottle fails closed. `prepare` / `status`
|
|
/ cleanup still work.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from contextlib import contextmanager
|
|
from typing import Callable, Generator
|
|
|
|
from ...log import die
|
|
from .bottle import MacosContainerBottle
|
|
from .bottle_plan import MacosContainerBottlePlan
|
|
|
|
|
|
@contextmanager
|
|
def launch(
|
|
plan: MacosContainerBottlePlan,
|
|
*,
|
|
provision: Callable[[MacosContainerBottlePlan, "MacosContainerBottle"], str | None],
|
|
) -> Generator[MacosContainerBottle, None, None]:
|
|
"""Fail closed: the macOS backend is disabled until it grows the
|
|
consolidated per-host gateway (the companion-container path it used
|
|
was removed in #385)."""
|
|
del plan, provision
|
|
die(
|
|
"the macos-container backend is temporarily disabled during the "
|
|
"companion-container removal (#385); it will return once it uses "
|
|
"the consolidated gateway. Use --backend=docker for now."
|
|
)
|
|
yield # unreachable — `die` raises; keeps this a generator/contextmanager
|