#!/sbin/openrc-run description="Citadel identity and authorization service" command="/usr/bin/citadeld" command_args="" command_user="citadel:citadel" command_background="yes" pidfile="/run/citadel/citadeld.pid" output_log="/var/log/citadel/citadeld.log" error_log="/var/log/citadel/citadeld.log" depend() { need net postgresql-18 } start_pre() { checkpath --directory --owner citadel:citadel --mode 0750 /run/citadel || return 1 chmod 0750 /run/citadel || return 1 checkpath --directory --owner citadel:citadel --mode 0750 /var/log/citadel || return 1 checkpath --directory --owner citadel:citadel --mode 0750 /var/lib/citadel || return 1 checkpath --directory --owner citadel:citadel --mode 0750 /etc/citadel || return 1 : ${CITADEL_DATABASE_URL:?CITADEL_DATABASE_URL must be set in /etc/conf.d/citadeld} : ${CITADEL_SOCKET_PATH:?CITADEL_SOCKET_PATH must be set in /etc/conf.d/citadeld} : ${CITADEL_CALLERS_FILE:?CITADEL_CALLERS_FILE must be set in /etc/conf.d/citadeld} export LOGIN_DATABASE_URL="${CITADEL_DATABASE_URL}" export LOGIN_SOCKET_PATH="${CITADEL_SOCKET_PATH}" export LOGIN_CALLERS_FILE="${CITADEL_CALLERS_FILE}" : ${CITADEL_SOCKET_GID:?CITADEL_SOCKET_GID must be set in /etc/conf.d/citadeld} export LOGIN_SOCKET_GID="${CITADEL_SOCKET_GID}" if [ -n "${CITADEL_MASTER_KEY_FILE:-}" ]; then : ${CITADEL_MASTER_KEY_FILE:?CITADEL_MASTER_KEY_FILE must be set in /etc/conf.d/citadeld} export LOGIN_MASTER_KEY_FILE="${CITADEL_MASTER_KEY_FILE}" fi }