From 22c98ff7edde7c420dd6f5e0eba7528a6859b06f Mon Sep 17 00:00:00 2001 From: Erik Mackdanz Date: Thu, 14 Aug 2025 15:40:42 +0000 Subject: [PATCH] Add notes for creating worker containers with systemd-nspawn --- nspawn-worker.md | 90 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 nspawn-worker.md 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 <