# Firecracker network-pool defaults — the SINGLE source of these values. # # Read by every consumer so they can't drift: # * netpool.py — parses this for the Python defaults (below). # * scripts/firecracker-netpool.sh — falls back to these when the # matching BOT_BOTTLE_FC_* env var is unset. # * nix/firecracker-netpool.nix — readFile-parses this for its option # defaults, then passes the resolved values back as Environment=. # # Plain KEY=VALUE (no quoting, no inline comments, no spaces around `=`) # so it is bash-sourceable, systemd EnvironmentFile-compatible, and # trivially parseable from Python and Nix. A real BOT_BOTTLE_FC_* env # var of the same name always overrides the value here. BOT_BOTTLE_FC_POOL_SIZE=8 BOT_BOTTLE_FC_IP_BASE=10.243.0.0 BOT_BOTTLE_FC_IFACE_PREFIX=bbfc BOT_BOTTLE_FC_NFT_TABLE=bot_bottle_fc # The orchestrator VM's own TAP — a dedicated link OUTSIDE the bbfc* # agent pool. Unlike agent VMs (which reach only their gateway), the # orchestrator is trusted infra that needs real NAT'd internet egress: # to FROM-pull + apt/npm during in-VM agent-image builds (buildah). Its # /31 is the top of the IP_BASE /16 (host x.y.255.0, guest x.y.255.1), # clear of the pool near the bottom of the block. BOT_BOTTLE_FC_ORCH_IFACE=bborch0 # The gateway (data-plane) VM's own TAP — the second infra link, split # from the orchestrator now that #469 got the DB off the data plane (PRD # 0070 "Separating the planes"). It mirrors the orchestrator link: NAT'd # internet egress (the gateway forwards agent egress upstream) plus a # forward path to reach the orchestrator's control plane. Its /31 is the # next one above the orchestrator link (host x.y.255.2, guest x.y.255.3). # Agents DNAT their gateway-port traffic here (not to the orchestrator), # so a breached agent has no L3 route to the control plane. BOT_BOTTLE_FC_GW_IFACE=bbgw0