On Thu, 2020-03-26 at 14:33 +0100, Erik Skultety wrote: > guests: templates: Introduce a gitlab-runner RC init service template "RC init" is sort of a loaded term, I'd just call out FreeBSD directly. > +++ b/guests/playbooks/update/templates/gitlab-runner.j2 > @@ -0,0 +1,32 @@ > +#!/bin/sh > +# PROVIDE: gitlab_runner > +# REQUIRE: DAEMON NETWORKING > +# BEFORE: > +# KEYWORD: This seems to be heavily based on [1], so maybe include a reference to that URL somewhere. > +user="{{ flavor }}" > +user_home="/home/{{ flavor }}" Either use substitution for {{ flavor }} both here and in the systemd service, or in neither. Personally I'd go for the latter, since it's not really buying us much. > +gitlab_runner_start() > +{ > + export USER=${user} > + export HOME=${user_home} > + export PATH=${PATH}:/usr/local/bin/:/usr/local/sbin/ > + if checkyesno ${rcvar}; then > + cd ${user_home} > + /usr/sbin/daemon -p ${pidfile} ${command} ${command_args} > /var/log/gitlab-runner.log 2>&1 The version in the official documentation does this a little differently... I guess the difference is that in their case the gitlab-runner application is running as the gitlab user, wereas in ours the daemon is running as root but is instructed to execute workloads as the gitlab user. The latter seems fine, as that's what happens on Linux as well, but have you fully considered the security implications? [1] https://docs.gitlab.com/runner/install/freebsd.html -- Andrea Bolognani / Red Hat / Virtualization