master: name: fester-master role: control # Sorcery-go bridge — when enabled, Fester integrates with sorcery-go's # eBPF warding for container-level security enforcement. The sorcery-go # FesterClient connects to this Fester master for distributed scheduling. sorcery_go: enabled: false # URL of the sorcery-go Coven master (sorcery-go connects TO us) # This is informational — sorcery-go uses FESTER_URL env var. eBPF_warding: true # sorcery-go eBPF cgroup filters on LXC/Podman coven_sync: false # sync node list from sorcery-go Coven # Default runtime for nodes that don't specify one. # Options: host, lxc, podman, firecracker, libvirt, tmux default_runtime: host # Firecracker defaults (used when a node has runtime: firecracker) firecracker: bin: firecracker kernel: /var/lib/fester/vmlinux rootfs: /var/lib/fester/rootfs.ext4 ssh_key: /root/.ssh/fc_builder ssh_port: 2222 vcpus: 2 memory_mb: 4096 socket_dir: /run/fester/firecracker nodes: - name: x99-v3 host: 192.168.1.10 max_jobs: 24 runtime: host - name: x99-v4 host: 192.168.1.11 max_jobs: 30 runtime: host # Example LXC node — ARMv7 cross-compile via SourceMage chroot # - name: lxc-arm-builder # host: 192.168.1.20 # max_jobs: 8 # runtime: lxc # container: smgl-armv7 # toolchain: # provider: sourcemage # path: /var/lib/smgl-armv7 # target_arch: arm # Example Gentoo stage3 cross-compile node # - name: gentoo-mips-builder # host: 192.168.1.22 # max_jobs: 16 # runtime: host # toolchain: # provider: gentoo # path: /var/lib/gentoo-chroot # target_arch: mipsel # Example LEDE/OpenWrt router SDK node # - name: lede-router-builder # host: 192.168.1.23 # max_jobs: 4 # runtime: host # toolchain: # provider: lede # path: /opt/lede-sdk # Example Buildroot SDK node # - name: buildroot-arm64 # host: 192.168.1.24 # max_jobs: 8 # runtime: host # toolchain: # provider: buildroot # path: /opt/buildroot-arm64 # Example Lunar Linux chroot node # - name: lunar-x86-builder # host: 192.168.1.25 # max_jobs: 12 # runtime: host # toolchain: # provider: lunar # path: /var/lib/lunar-chroot # Example generic chroot node (any distro) # - name: debian-chroot-builder # host: 192.168.1.26 # max_jobs: 12 # runtime: host # toolchain: # provider: chroot # path: /var/lib/debian-chroot # Example Podman node (rootless) # - name: podman-x86 # host: 192.168.1.21 # max_jobs: 12 # runtime: podman # container: smgl-x86_64 # Example Firecracker microVM node # - name: fc-builder-1 # host: 192.168.1.30 # max_jobs: 4 # runtime: firecracker # firecracker: # kernel: /var/lib/fester/vmlinux-arm64 # rootfs: /var/lib/fester/rootfs-arm64.ext4 # ssh_port: 2222 # --------------------------------------------------------------------------- # Toolchain provider system # --------------------------------------------------------------------------- # Controls which toolchain provider Fester uses for builds. # # provider: (optional) one of: native, btc, buildroot, sourcemage, gentoo, # lede, lunar, chroot # - If omitted, selection falls through: per-node -> global -> btc -> native # - "native" = host gcc/g++ (default fallback) # - "btc" = BTC.sh sovereign-forged toolchain (if btc.enabled) # - "chroot" = generic distro chroot (auto-detect) # - Others are distro-specific chroot/buildroot providers. # # target_arch: (optional) for cross-compilation, select target architecture # (arm, arm64, mipsel, x86_64, tilegx, riscv64, etc.) # --------------------------------------------------------------------------- # toolchain: # provider: native # BTC Sovereign Toolchain Integration (BTC-0.4.0+ Cross-Compilation) # Set enabled: true to use the BTC.sh sovereign-forged toolchain. # This is checked AFTER the toolchain.provider setting above. # # BTC 0.4.0 supports multi-architecture cross-compilation. The 'target' # field selects which cross-compiler golden image to use on this node. # If omitted, Fester auto-detects the first available golden image. # # Available target IDs (run 'BTC.sh --list' for the authoritative table): # x86_64: haswell, haswell-ep, skylake, skylake-x, skylake-server, # znver1, znver2, znver3, znver4, # apu-zn1, apu-zn2, apu-zn3, apu-zn4, # atom-silvermont, atom-goldmont, atom-tremont, atom-sierraforest # mipsel: mipselr2 # arm: armv7 # tilegx: tilegx btc: enabled: true root: /opt/BTC # target: haswell-ep # optional: select a specific cross-compiler target projects: - name: linux-tool repo: https://forgejo.local/linux-tool.git targets: debian: "make clean && make debian" arch: "make clean && make arch" fedora: "make clean && make fedora"