163 lines
4.9 KiB
YAML
Executable File
163 lines
4.9 KiB
YAML
Executable File
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" |