1546acad00
Move the resolution, bring-up, and orphan-cleanup logic out of backend.py into three topic-named modules. DockerBottleBackend becomes a thin façade that wires the per-instance pipelock proxy and the provision orchestrator into the free functions. backend.py drops from ~360 to ~70 lines and each topic now reads end-to-end in one place. Mirrors the existing provision/ split. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
"""Docker bottle backend.
|
|
|
|
The bulk of the implementation lives in sibling modules:
|
|
|
|
- util: thin Docker subprocess wrappers
|
|
- network: Docker network plumbing
|
|
- pipelock: DockerPipelockProxy lifecycle
|
|
- bottle_plan: DockerBottlePlan
|
|
- bottle_cleanup_plan: DockerBottleCleanupPlan
|
|
- bottle: DockerBottle handle
|
|
- prepare: host-side resolution into a DockerBottlePlan
|
|
- launch: bring-up + teardown context manager
|
|
- cleanup: orphan enumeration, removal, active listing
|
|
- backend: DockerBottleBackend façade wiring the above
|
|
|
|
This file only re-exports the public names so
|
|
`from claude_bottle.backend.docker import DockerBottleBackend` keeps
|
|
working.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from .backend import DockerBottleBackend
|
|
from .bottle import DockerBottle
|
|
from .bottle_cleanup_plan import DockerBottleCleanupPlan
|
|
from .bottle_plan import DockerBottlePlan
|
|
|
|
__all__ = [
|
|
"DockerBottle",
|
|
"DockerBottleBackend",
|
|
"DockerBottleCleanupPlan",
|
|
"DockerBottlePlan",
|
|
]
|