Docker backend: flesh out backend setup/status
#345
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
The generic
./cli.py backend {setup,status}command dispatches to each backend'ssetup()/status()classmethods (added alongside the abstractBottleBackend.setup/statuscontract). Firecracker has a full implementation (network pool + nft table + range-overlap check). The Docker backend got a minimal placeholder inbot_bottle/backend/docker/setup.py:status()— reportsdockeron PATH, daemon reachable (docker info), and whether the gVisorrunscruntime is registered.setup()— install pointer if docker is missing, daemon-start hint if unreachable, otherwise "no privileged host setup required".A richer implementation could cover:
runsc: detect it's missing and print concrete registration steps (or offer to write/etc/docker/daemon.jsonruntime config), since bottles auto-use it when present./dev/kvmaccess, etc.).docker compose(v2) is available, since enumerate/cleanup rely on it.--internalnetworks).Scope: this is polish, not blocking — the placeholder is enough for the generic command to work across backends.
Ref: introduced when
./cli.py firecracker {setup,status}was replaced by the generic./cli.py backend {setup,status}.