#!/usr/bin/env bash # Profile: sc-build-machine (vulcan) # Role: Arch Linux build machine — compiles AxiomFlow artifacts, runs scheduled # jobs, deploys to hermes. Intentionally different distro from Debian servers. # Distro: Arch Linux cloud image DOMAIN="sc-build-machine" HOSTNAME="vulcan" RAM_MB=768 VCPUS=2 DISK_SIZE="10G" GRAPHICS="vnc" BASE_URL="https://geo.mirror.pkgbuild.com/images/latest/Arch-Linux-x86_64-cloudimg.qcow2" BASE_IMAGE="$SC_BASE_DIR/Arch-Linux-x86_64-cloudimg.qcow2" generate_user_data() { cat < /srv/repo/README.txt - dd if=/dev/zero of=/swapfile bs=1M count=1024 status=progress - chmod 600 /swapfile - mkswap /swapfile - swapon /swapfile - echo '/swapfile none swap sw 0 0' >> /etc/fstab - sysctl -p /etc/sysctl.d/99-sc-vulcan.conf - chown -R player:player /home/player /srv/repo /srv/builds - systemctl disable ModemManager || true - systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target final_message: "Vulcan build machine is ready." EOF }