ports/sysutils/py-salt/files/salt_master.in
Alan Somers ce4c8c4921 sysutils/py-salt: fix commands like "service salt_minion status"
When py-processtitle is installed, the master and minion daemons will
change their process titles in a way that breaks commands like "service
salt_minion status".  status, stop, restart, etc are all broken.  Fix
this bug by:

* Always installing py-processtitle unconditionally,
* Fixing utils/process.py to not insert an extra space in the title
* Adjusting the RC scripts accordingly

A downside is that many service subcommands will now print this harmless
warning message:
```
/usr/local/etc/rc.d/salt_minion: WARNING: cannot read shebang line from
MultiMinionProcessManager
```

Approved by:	krion (maintainer)
Sponsored by:	ConnectWise
PR:		285053
2025-02-27 14:04:59 -07:00

42 lines
1.2 KiB
Bash

#!/bin/sh
# Salt Master startup script
#
# PROVIDE: salt_master
# REQUIRE: LOGIN
# KEYWORD: shutdown
# Add the following to /etc/rc.conf[.local] to enable this service
#
# salt_master_enable (bool): Set to NO by default.
# Set it to YES to enable salt_master.
# salt_master_paths (string): Set to "/sbin:/bin:/usr/sbin:/usr/bin:%%PREFIX%%/bin:%%PREFIX%%/sbin" by default.
# Default $PATH for salt_master.
# salt_master_eggcache (string): Set to "/tmp" by default.
# Allows defining egg cache directory to fix runtime on diskless systems.
#
. /etc/rc.subr
name=salt_master
rcvar=salt_master_enable
load_rc_config ${name}
: ${salt_master_enable:=NO}
: ${salt_master_paths=/sbin:/bin:/usr/sbin:/usr/bin:%%PREFIX%%/bin:%%PREFIX%%/sbin}
: ${salt_master_configdir:=%%PREFIX%%/etc/salt}
: ${salt_master_pidfile:=/var/run/salt-master.pid}
: ${salt_master_eggcache=/tmp}
command="%%PREFIX%%/bin/salt-master"
command_interpreter="%%PYTHON_CMD%%"
required_files=${salt_master_configdir}
pidfile=${salt_master_pidfile}
command_args="-c ${required_files} --pid-file=${pidfile} -d"
procname="MainProcess"
export PATH="${salt_master_paths}"
export PYTHON_EGG_CACHE="${salt_master_eggcache}"
run_rc_command "$1"