Firecracker microVM-based multi-agent system with IRC orchestration and local LLMs. Features: - Ephemeral command runner with VM snapshots (~1.1s) - Multi-agent orchestration via overseer IRC bot - 5 agent templates (worker, coder, researcher, quick, creative) - Tool access (shell + podman containers inside VMs) - Persistent workspace + memory system (MEMORY.md pattern) - Agent hot-reload (model/persona swap via SSH + SIGHUP) - Non-root agents, graceful shutdown, crash recovery - Agent-to-agent communication via IRC - DM support, /invite support - Systemd service, 20 regression tests Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
31 lines
1.1 KiB
Bash
Executable File
31 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Set up the fireclaw bridge and NAT rules
|
|
# Run with sudo
|
|
|
|
set -euo pipefail
|
|
|
|
BRIDGE="fcbr0"
|
|
BRIDGE_IP="172.16.0.1/24"
|
|
SUBNET="172.16.0.0/24"
|
|
EXT_IFACE=$(ip route show default | awk '{print $5; exit}')
|
|
|
|
echo "Creating bridge ${BRIDGE}..."
|
|
ip link add ${BRIDGE} type bridge 2>/dev/null || echo "Bridge already exists"
|
|
ip addr add ${BRIDGE_IP} dev ${BRIDGE} 2>/dev/null || echo "Address already set"
|
|
ip link set ${BRIDGE} up
|
|
|
|
echo "Enabling IP forwarding..."
|
|
sysctl -w net.ipv4.ip_forward=1
|
|
|
|
echo "Setting up NAT via ${EXT_IFACE}..."
|
|
iptables -t nat -C POSTROUTING -s ${SUBNET} -o ${EXT_IFACE} -j MASQUERADE 2>/dev/null || \
|
|
iptables -t nat -A POSTROUTING -s ${SUBNET} -o ${EXT_IFACE} -j MASQUERADE
|
|
|
|
iptables -C FORWARD -i ${BRIDGE} -o ${EXT_IFACE} -j ACCEPT 2>/dev/null || \
|
|
iptables -A FORWARD -i ${BRIDGE} -o ${EXT_IFACE} -j ACCEPT
|
|
|
|
iptables -C FORWARD -i ${EXT_IFACE} -o ${BRIDGE} -m state --state RELATED,ESTABLISHED -j ACCEPT 2>/dev/null || \
|
|
iptables -A FORWARD -i ${EXT_IFACE} -o ${BRIDGE} -m state --state RELATED,ESTABLISHED -j ACCEPT
|
|
|
|
echo "Done. Bridge ${BRIDGE} ready."
|