Configure and manage a worker
After having set up a new worker, you might want to configure its static metadata with debusine-admin worker edit_metadata to alter its behaviour in different ways, as presented in this page.
Note
The examples below always configure only one single aspect and
use a non-interactive method that overwrites all worker’s metadata.
In practice you will often combine different metadata: you can do that
either interactively in the text editor that is spawned by
debusine-admin worker edit_metadata or you need to provide a YAML file
combining the different keys if you use the non-interactive approach
shown in the examples.
Configure the accepted tasks
With an allow list
You can restrict the list of tasks that are allowed to run on the worker
by providing a list of task names in the tasks_allowlist metadata:
$ cat > /tmp/metadata <<END
tasks_allowlist:
- sbuild
- lintian
END
$ sudo debusine-admin worker edit_metadata \
debusine-internal --set /tmp/metadata
Note
Task names are lowercased compared to the names shown in the tasks reference list.
With a deny list
You can allow all tasks except a few exceptions by providing the list of
forbidden tasks in the tasks_denylist metadata.
$ cat > /tmp/metadata <<END
tasks_denylist:
- sbuild
- simplesystemimagebuild
END
$ sudo debusine-admin worker edit_metadata \
debusine-internal --set /tmp/metadata
Configure the list of compatible architectures
For tasks that have architecture requirements, by default, a worker will
only run those which its kernel declares support for (as determined by
arch-test -n).
Most typical installations will be able to execute variants of the native architecture:
amd64workers will accept tasks foramd64andi386.arm64workers (with 32-bit support) will accept tasks forarm64,armhf, andarmel.
It is possible to configure a worker to accept tasks for other
architectures by providing worker:build-arch:ARCH tags in the
worker’s static metadata, assuming the tasks can run with the help of
qemu-user-static or similar.
$ cat > /tmp/metadata <<END
provided_tags:
- worker:build-arch:loong64
END
$ sudo debusine-admin worker edit_metadata \
debusine-internal --set /tmp/metadata