From: Erik Mackdanz Date: Thu, 14 Aug 2025 15:40:42 +0000 (+0000) Subject: Add notes for creating worker containers with systemd-nspawn X-Git-Url: https://git.humopery.space/?a=commitdiff_plain;h=22c98ff7edde7c420dd6f5e0eba7528a6859b06f;p=private%2Fbuildbot-default.git Add notes for creating worker containers with systemd-nspawn --- diff --git a/nspawn-worker.md b/nspawn-worker.md new file mode 100644 index 0000000..521ba35 --- /dev/null +++ b/nspawn-worker.md @@ -0,0 +1,90 @@ +# Do all this as root + +# Get a base image +rawtree=stage3-amd64-systemd-20250803T163732Z +importctl pull-tar --class machine --verify no https://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64-systemd/${rawtree}.tar.xz + +# Make a place to prep the worker files +btrfs su snapshot /var/lib/machines/${rawtree} /var/lib/machines/prepworker + +# prep portage tree +rsync -av /var/db/repos/gentoo /var/lib/machines/prepworker/var/db/repos + +# prep from within +systemd-nspawn --machine prepworker sh -c "echo 'dev-lang/rust-bin clippy' >/etc/portage/package.use/rust" +# waterslager needs clang +systemd-nspawn --machine prepworker emerge --noreplace dev-python/pip dev-lang/rust-bin dev-vcs/git llvm-core/clang-runtime +systemd-nspawn --machine prepworker pip install --break-system-packages buildbot-worker pyOpenSSL service-identity +systemd-nspawn --machine prepworker sh -c "groupadd buildbot && useradd -g buildbot -m buildbot" +systemd-nspawn --machine prepworker --user buildbot mkdir -p /home/buildbot/info +systemd-nspawn --machine prepworker --user buildbot sh -c "echo 'Erik Mackdanz ' >/home/buildbot/info/admin" +systemd-nspawn --machine prepworker --user buildbot sh -c "echo 'Eriks laptop' >/home/buildbot/info/host" + +systemd-nspawn --machine prepworker --user buildbot sh -c "mkdir -p /home/buildbot/.ssh; chmod 700 /home/buildbot/.ssh" +cat >/var/lib/machines/prepworker/home/buildbot/.ssh/config </var/lib/machines/prepworker/home/buildbot/.ssh/known_hosts </var/lib/machines/prepworker/etc/systemd/system/bbworker.service <