Files
templates/woodpecker-ci/usr/local/etc/rc.d/woodpecker_agent
T
2026-02-28 18:40:09 +01:00

46 lines
1.3 KiB
Bash

#!/bin/sh
# PROVIDE: woodpecker_agent
# REQUIRE: DAEMON NETWORKING postgresql
# KEYWORD: shutdown
. /etc/rc.subr
name="woodpecker_agent"
rcvar="woodpecker_agent_enable"
load_rc_config $name
: ${woodpecker_agent_enable:="NO"}
: ${woodpecker_agent_user:="root"}
: ${woodpecker_agent_group:="wheel"}
: ${woodpecker_agent_bin:="/usr/local/bin/woodpecker-agent"}
: ${woodpecker_agent_dir:="/usr/local/etc/woodpecker"}
# Pfad zu deiner .env Datei (pass ihn ggf. an, wenn sie in /root liegt!)
: ${woodpecker_agent_envfile:="${woodpecker_agent_dir}/agent.env"}
pidfile="/var/run/${name}.pid"
command="/usr/sbin/daemon"
# Hier ist die Änderung: Wir überschreiben das Standard-Start-Kommando
start_cmd="woodpecker_agent_start"
woodpecker_agent_start() {
echo "Starting woodpecker_agent with environment from ${woodpecker_agent_envfile}..."
# Prüfen, ob die Datei existiert
if [ ! -f "${woodpecker_agent_envfile}" ]; then
echo "Error: .env file not found at ${woodpecker_agent_envfile}"
return 1
fi
# Die .env Datei laden und alle Zeilen exportieren
# Wir filtern Kommentare (#) und leere Zeilen aus
export $(grep -v '^#' "${woodpecker_agent_envfile}" | xargs)
# Jetzt den Daemon starten
/usr/sbin/daemon -f -P ${pidfile} -r ${woodpecker_agent_bin}
}
run_rc_command "$1"