summaryrefslogtreecommitdiff
path: root/user/gitlab-runner/gitlab-runner.initd
diff options
context:
space:
mode:
authorA. Wilcox <awilcox@wilcox-tech.com>2020-06-19 22:56:22 +0000
committerA. Wilcox <awilcox@wilcox-tech.com>2020-06-19 22:56:22 +0000
commitc3ad661174e3f770b100812c6075f2ca092e9c2a (patch)
tree3dfcf540eb4c49e05d1b97de4492f9e00bec4db0 /user/gitlab-runner/gitlab-runner.initd
parentb39942321d371aaa6fa453bf06cb55089bbe7444 (diff)
parentc4d87ab64fb1a3a1a89e6e0cb8d4b7291e511c1d (diff)
downloadpackages-c3ad661174e3f770b100812c6075f2ca092e9c2a.tar.gz
packages-c3ad661174e3f770b100812c6075f2ca092e9c2a.tar.bz2
packages-c3ad661174e3f770b100812c6075f2ca092e9c2a.tar.xz
packages-c3ad661174e3f770b100812c6075f2ca092e9c2a.zip
Merge branch 'gitlab-runner' into 'master'
user/gitlab-runner: new package See merge request adelie/packages!467
Diffstat (limited to 'user/gitlab-runner/gitlab-runner.initd')
-rw-r--r--user/gitlab-runner/gitlab-runner.initd46
1 files changed, 46 insertions, 0 deletions
diff --git a/user/gitlab-runner/gitlab-runner.initd b/user/gitlab-runner/gitlab-runner.initd
new file mode 100644
index 000000000..a5f65dacb
--- /dev/null
+++ b/user/gitlab-runner/gitlab-runner.initd
@@ -0,0 +1,46 @@
+#!/sbin/openrc-run
+
+: "${CONFIG_FILE:=/etc/gitlab-runner/config.toml}"
+: "${command_args:=--working-directory /var/lib/gitlab-runner}"
+: "${logfile:=/var/log/gitlab-runner.log}"
+: "${timeout:=300}"
+: "${retry:=60}"
+: "${command_user:=gitlab-runner:gitlab-runner}"
+export CONFIG_FILE
+
+command="/usr/bin/gitlab-runner"
+command_args="run --service ${RC_SVCNAME} ${command_args}"
+command_background="true"
+start_stop_daemon_args="--stdout ${logfile} --stderr ${logfile}"
+pidfile="/run/${RC_SVCNAME}.pid"
+
+extra_started_commands="reload gracefulstop"
+description_reload="Reload configuration"
+description_gracefulstop="Finish current jobs, then stop"
+
+start_pre() {
+ checkpath -f -m 640 -o "${command_user}" "${logfile}"
+}
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME} configuration"
+ start-stop-daemon --quiet --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
+
+gracefulstop() {
+ ebegin "Gracefully stopping ${RC_SVCNAME}"
+ mark_service_stopping "${RC_SERVICE}"
+ start-stop-daemon --quiet --progress --stop --pidfile "${pidfile}" \
+ --signal QUIT --retry "${timeout}"
+ if eend $?; then
+ mark_service_stopped "${RC_SVCNAME}"
+ else
+ eerror "${RC_SVCNAME} timed out, forcefully stopping"
+ if stop; then
+ mark_service_stopped "${RC_SVCNAME}"
+ else
+ return 1
+ fi
+ fi
+}