summary refs log tree commit diff
path: root/os/etc/s6-rc/src/buildkitd-srv/run
diff options
context:
space:
mode:
Diffstat (limited to 'os/etc/s6-rc/src/buildkitd-srv/run')
-rw-r--r--os/etc/s6-rc/src/buildkitd-srv/run27
1 files changed, 27 insertions, 0 deletions
diff --git a/os/etc/s6-rc/src/buildkitd-srv/run b/os/etc/s6-rc/src/buildkitd-srv/run
new file mode 100644
index 0000000..ea41db5
--- /dev/null
+++ b/os/etc/s6-rc/src/buildkitd-srv/run
@@ -0,0 +1,27 @@
+#!/bin/execlineb -P
+
+envfile /etc/s6-rc/config/user.conf
+importas -iu USER USER
+
+envfile /etc/s6-rc/config/containerd.conf
+importas -iu ns containerd_namespace
+importas -iu sn containerd_snapshotter
+
+s6-setuidgid ${USER}
+s6-envdir -i /run/session-env
+
+importas -i run XDG_RUNTIME_DIR
+importas -i data XDG_DATA_HOME
+
+define bk_dir ${run}/buildkit-${ns}
+define bk_root ${data}/buildkit-${ns}
+
+foreground { mkdir -vp ${bk_root} }
+foreground { mkdir -vp ${bk_dir} }
+
+fdmove -c 2 1
+exec /usr/bin/containerd-rootless-setuptool.sh nsenter -- \
+	buildkitd --root=${bk_root} \
+		--addr=unix://${bk_dir}/buildkitd.sock \
+		--containerd-worker-namespace=${ns} \
+		--containerd-worker-snapshotter=${sn}