Integration of osbuild composer with systemd

osbuild-composer now uses socket activation instead of hardcoded paths
in the code. osbuild-worker is an http client therefore it uses only
service unit. osbuild-worker must be started after the socket is
created. osbuild-composer service requires osbuild-worker to run, because without
it no jobs can be started.

osbuild-composer is executed as a regular user (newly created
_osbuild-composer user) as opposed to the worker which must run as root
in order to execute osbuild itself
This commit is contained in:
Martin Sehnoutka 2019-10-01 15:17:35 +02:00 committed by Tom Gundersen
parent d23d57bc31
commit ed185b41ce
11 changed files with 88 additions and 34 deletions

12
Makefile Normal file
View file

@ -0,0 +1,12 @@
build:
go build -o osbuild-composer ./cmd/osbuild-composer/
go build -o osbuild-worker ./cmd/osbuild-worker/
install:
- mkdir -p /usr/lib/osbuild-composer
cp osbuild-composer /usr/lib/osbuild-composer/
cp osbuild-worker /usr/lib/osbuild-composer/
cp dnf-json /usr/lib/osbuild-composer/
run-socket:
systemd-socket-activate -l /run/weldr/api.socket -l /run/osbuild-composer/job.socket ./osbuild-composer