2f45f5afec
Collapses the two-container Docker model (gateway + orchestrator) into one bot-bottle-infra container, matching the macOS and Firecracker backends. - Dockerfile.infra: now a shared gateway+orchestrator base (COPY bot_bottle from orchestrator build, no CMD override) - Dockerfile.infra.fc: new Firecracker-specific layer (buildah/crun/netavark) - gateway_init: adds orchestrator daemon with _OPT_IN_DAEMONS gating so it only starts when BOT_BOTTLE_GATEWAY_DAEMONS explicitly includes it - orchestrator/lifecycle: OrchestratorService manages one infra container; builds orchestrator (intermediate) then infra; live source bind-mounted at /bot-bottle-src with PYTHONPATH so the subprocess uses the checkout - backend/consolidated_util: extracts provision_bottle + teardown_consolidated shared across all three backends; removes duplication in docker/fc/macos consolidated_launch modules - firecracker/infra_vm: builds four images (orchestrator→gateway→infra→infra.fc) - All unit tests updated and passing (1878 tests) - PRD status: Draft → Active
24 lines
1006 B
Docker
24 lines
1006 B
Docker
# Firecracker infra VM image (PRD 0070 Stage B).
|
|
#
|
|
# Extends the shared infra base (Dockerfile.infra: gateway + orchestrator
|
|
# control plane) with the in-VM agent-image builder. The Firecracker backend
|
|
# builds users' agent Dockerfiles *inside this VM* with buildah (rootless,
|
|
# daemonless) instead of on the host — no host Docker daemon, no
|
|
# root-equivalent `docker` group.
|
|
#
|
|
# Requires the trixie base from bot-bottle-gateway (buildah 1.39: bookworm's
|
|
# 1.28 can't parse Dockerfile heredocs that agent images use).
|
|
#
|
|
# `crun` is the OCI runtime; `netavark` + `aardvark-dns` are the network
|
|
# backend for `FROM` pulls + `RUN` egress. `vfs` + `chroot`: buildah works
|
|
# as root in the bare microVM (no fuse-overlayfs / overlay module / subuid
|
|
# maps). Matches image_builder.
|
|
FROM bot-bottle-infra:latest
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
buildah crun netavark aardvark-dns \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
ENV STORAGE_DRIVER=vfs \
|
|
BUILDAH_ISOLATION=chroot
|