Set up a debusine worker
Introduction
debusine-worker
is a daemon that connects (via HTTP API and WebSockets)
to a Debusine server, waits for tasks and executes tasks locally. See
Workers.
Initial setup
Install the debusine-worker
package. The Initial setup using debusine server
has the instructions how to add the debusine repository.
To know what the package does during installation see the What the package does on installation section. Follow the steps below to finalize the set-up.
Create the file
/etc/debusine/worker/config.ini
. Use/usr/share/doc/debusine-worker/examples/config.ini
as an example:$ sudo cp /usr/share/doc/debusine-worker/examples/config.ini /etc/debusine/worker/ $ sudo editor /etc/debusine/worker/config.iniChange the
api-url
in the configuration file as needed.Add the user debusine-worker to the group,
sbuild
:$ sudo sbuild-adduser debusine-worker(
sbuild-adduser
adds the debusine-worker to the correct group, ignore the rest ofsbuild-adduser
messages regarding how to setup tasks for sudo users)Create the sbuild chroot, for example:
$ sudo sbuild-createchroot stable /srv/chroot/stableRestart
debusine-worker
with the new configuration and group:$ sudo systemctl restart debusine-workerThe logs can be seen in
/var/log/debusine/worker/
.Following the restart, the token will appear in
/etc/debusine/worker/token
and in the log file/var/log/debusine/worker/worker.log
. The debusine admin should approve the tokens pending for approval. Nothing needs to be done from the side of debusine-worker.
Managing debusine-worker
Use the systemctl
command to start (done automatically by the package), stop
or restart the debusine-worker:
$ sudo systemctl start debusine-worker
$ sudo systemctl stop debusine-worker
$ sudo systemctl status debusine-worker
The default configuration logs relevant information in
/var/log/debusine/worker/worker.log
. The log file and log level can
be changed in /etc/debusine/worker/config.ini
.
If debusine-worker
outputs the log to the stdout/stderr the logs are
available via:
$ journalctl --unit debusine-worker
Troubleshooting
Information about the state of debusine-worker can be found via:
systemctl status debusine-worker
to verify that the service is running
/var/log/debusine/worker/worker.log
to see any error messages
journalctl -u debusine-worker
for other information
To change the settings of debusine-worker
, for example to increase the logging level:
$ sudo editor /etc/debusine/worker/config.ini # change log-level
$ sudo systemctl restart debusine-worker
debusine-worker
can be launched without systemd which might be useful for
troubleshooting. Run it with the same debusine-worker
user. For example:
$ sudo systemctl stop debusine-worker
$ sudo editor /etc/debusine/worker/config.ini # for example comment out log-file
# so the log is to stderr
$ sudo -u debusine-worker debusine-worker # execute it with the correct user
debusine-worker
can also be launched using a different user for debugging purposes.
The configuration (config.ini
and token
files) in the
directory $HOME/.config/debusine/worker
have higher priority than the global
configuration, /etc/debusine/worker
.
What the package does on installation
Creates the
debusine-worker
userInstalls a systemd service (named debusine-worker)
Creates the directories
/var/log/debusine/worker
and/var/lib/debusine-worker