Testing py-salt
This commit is contained in:
131
sysutils/py-salt/Makefile
Normal file
131
sysutils/py-salt/Makefile
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
PORTNAME= salt
|
||||||
|
PORTVERSION= 3006.9
|
||||||
|
PORTREVISION= 6
|
||||||
|
PORTEPOCH= 1
|
||||||
|
CATEGORIES= sysutils python
|
||||||
|
MASTER_SITES= PYPI
|
||||||
|
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||||
|
|
||||||
|
MAINTAINER= krion@FreeBSD.org
|
||||||
|
COMMENT= Distributed remote execution and configuration management system
|
||||||
|
WWW= https://pypi.org/project/salt/
|
||||||
|
|
||||||
|
LICENSE= APACHE20
|
||||||
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||||
|
|
||||||
|
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}distro>=1.5.0:sysutils/py-distro@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}libcloud>=0.14.0:net/py-libcloud@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}msgpack>=0.3:devel/py-msgpack@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}progressbar>0:misc/py-progressbar@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}psutil>=0.3.0:sysutils/py-psutil@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}requests>=1.0.0:www/py-requests@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}jmespath>0:devel/py-jmespath@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}pyinotify>0:devel/py-pyinotify@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}looseversion>0:devel/py-looseversion@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}croniter>0:sysutils/py-croniter@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}setproctitle>0:devel/py-setproctitle@${PY_FLAVOR}
|
||||||
|
|
||||||
|
USES= cpe python
|
||||||
|
|
||||||
|
CPE_VENDOR= saltstack
|
||||||
|
CPE_PRODUCT= salt
|
||||||
|
USE_PYTHON= autoplist cryptography distutils
|
||||||
|
NO_ARCH= yes
|
||||||
|
|
||||||
|
CONFLICTS= py[0-9]*-salt-2019*
|
||||||
|
|
||||||
|
# we must pass these options before the target name, and python.mk has no
|
||||||
|
# early-arguments variable, so we have to manipulate the target
|
||||||
|
PYDISTUTILS_INSTALL_TARGET=\
|
||||||
|
--salt-root-dir=/ \
|
||||||
|
--salt-config-dir=${ETCDIR} \
|
||||||
|
--salt-cache-dir=/var/cache/salt \
|
||||||
|
--salt-sock-dir=/var/run/salt \
|
||||||
|
--salt-srv-root-dir=${ETCDIR} \
|
||||||
|
--salt-base-file-roots-dir=${ETCDIR}/states \
|
||||||
|
--salt-base-pillar-roots-dir=${ETCDIR}/pillar \
|
||||||
|
--salt-base-master-roots-dir=${ETCDIR}/salt-master \
|
||||||
|
--salt-logs-dir=/var/log/salt \
|
||||||
|
--salt-pidfile-dir=/var/run \
|
||||||
|
install
|
||||||
|
|
||||||
|
USE_RC_SUBR= salt_api \
|
||||||
|
salt_master \
|
||||||
|
salt_minion \
|
||||||
|
salt_proxy \
|
||||||
|
salt_syndic
|
||||||
|
|
||||||
|
SUB_LIST+= PYTHON_CMD=${PYTHON_CMD}
|
||||||
|
|
||||||
|
SUB_FILES= pkg-message
|
||||||
|
|
||||||
|
# Upstream archive contains files with UTF-8 names
|
||||||
|
EXTRACT_CMD= ${SETENV} LC_ALL=en_US.UTF-8 /usr/bin/bsdtar
|
||||||
|
|
||||||
|
OPTIONS_DEFINE= AWS BASH FISH TCP ZEROMQ ZSH
|
||||||
|
OPTIONS_DEFAULT= BASH FISH ZEROMQ ZSH
|
||||||
|
|
||||||
|
AWS_DESC= Install dependencies required for Amazon Web Services
|
||||||
|
TCP_DESC= Install dependencies required for TCP transport
|
||||||
|
ZEROMQ_DESC= Install dependencies required for ZeroMQ transport
|
||||||
|
|
||||||
|
# AWS dependencies (Note: the devel/py-botocore port is updated very frequently)
|
||||||
|
AWS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>0:www/py-boto3@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}boto>=2.32.1:devel/py-boto@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}botocore>0:devel/py-botocore@${PY_FLAVOR}
|
||||||
|
|
||||||
|
TCP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycryptodomex>=3.9.7:security/py-pycryptodomex@${PY_FLAVOR}
|
||||||
|
|
||||||
|
ZEROMQ_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyzmq>=2.2.0:net/py-pyzmq@${PY_FLAVOR}
|
||||||
|
ZEROMQ_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyzmq>=2.2.0:net/py-pyzmq@${PY_FLAVOR} \
|
||||||
|
${PYTHON_PKGNAMEPREFIX}pycryptodomex>=3.9.7:security/py-pycryptodomex@${PY_FLAVOR}
|
||||||
|
|
||||||
|
BASH_PLIST_FILES= share/bash-completion/completions/salt
|
||||||
|
FISH_PLIST_FILES= share/fish/completions/salt-call.fish \
|
||||||
|
share/fish/completions/salt-cp.fish \
|
||||||
|
share/fish/completions/salt-key.fish \
|
||||||
|
share/fish/completions/salt-master.fish \
|
||||||
|
share/fish/completions/salt-minion.fish \
|
||||||
|
share/fish/completions/salt-run.fish \
|
||||||
|
share/fish/completions/salt-syndic.fish \
|
||||||
|
share/fish/completions/salt.fish \
|
||||||
|
share/fish/completions/salt_common.fish
|
||||||
|
ZSH_PLIST_FILES= share/zsh/site-functions/_salt
|
||||||
|
|
||||||
|
post-patch:
|
||||||
|
.for file in conf/minion conf/master doc/man/salt-key.1 \
|
||||||
|
doc/man/salt-cp.1 doc/man/salt-minion.1 doc/man/salt-syndic.1 \
|
||||||
|
doc/man/salt-master.1 doc/man/salt-run.1 doc/man/salt.7 doc/man/salt.1 \
|
||||||
|
doc/man/salt-call.1 salt/modules/mysql.py salt/modules/tls.py salt/modules/postgres.py
|
||||||
|
@${REINPLACE_CMD} -e 's|/etc/salt|${ETCDIR}|' \
|
||||||
|
-e 's|/srv/salt|${ETCDIR}/states|' \
|
||||||
|
-e 's|/srv/pillar|${ETCDIR}/pillar|' ${WRKSRC}/${file}
|
||||||
|
.endfor
|
||||||
|
@${REINPLACE_CMD} -e 's|yumpkg5|pkgng|' ${WRKSRC}/conf/minion
|
||||||
|
@${REINPLACE_CMD} -e 's|"/usr/bin/python3"|"${PYTHON_CMD}"|' ${WRKSRC}/salt/auth/pam.py
|
||||||
|
|
||||||
|
do-install-BASH-on:
|
||||||
|
@${MKDIR} ${STAGEDIR}${PREFIX}/share/bash-completion/completions/
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/pkg/common/salt.bash \
|
||||||
|
${STAGEDIR}${PREFIX}/share/bash-completion/completions/salt
|
||||||
|
|
||||||
|
do-install-FISH-on:
|
||||||
|
@${MKDIR} ${STAGEDIR}${PREFIX}/share/fish/completions/
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/pkg/common/fish-completions/*.fish \
|
||||||
|
${STAGEDIR}${PREFIX}/share/fish/completions
|
||||||
|
|
||||||
|
do-install-ZSH-on:
|
||||||
|
@${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/pkg/common/salt.zsh \
|
||||||
|
${STAGEDIR}${PREFIX}/share/zsh/site-functions/_salt
|
||||||
|
|
||||||
|
post-install:
|
||||||
|
@${MKDIR} ${STAGEDIR}${ETCDIR}
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/conf/master ${STAGEDIR}${ETCDIR}/master.sample
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/conf/minion ${STAGEDIR}${ETCDIR}/minion.sample
|
||||||
|
|
||||||
|
.include <bsd.port.mk>
|
||||||
3
sysutils/py-salt/distinfo
Normal file
3
sysutils/py-salt/distinfo
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TIMESTAMP = 1737023351
|
||||||
|
SHA256 (salt-3006.9.tar.gz) = 7703c73a71c67327d48b2893ce9cf031ee52e2816df0daf78d6fe18a99b353e3
|
||||||
|
SIZE (salt-3006.9.tar.gz) = 19691113
|
||||||
8
sysutils/py-salt/files/patch-requirements_base.txt
Normal file
8
sysutils/py-salt/files/patch-requirements_base.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
--- requirements/base.txt.orig 2025-01-16 10:30:29 UTC
|
||||||
|
+++ requirements/base.txt
|
||||||
|
@@ -14,5 +14,3 @@ croniter>=0.3.0,!=0.3.22; sys_platform != 'win32'
|
||||||
|
packaging>=21.3
|
||||||
|
looseversion
|
||||||
|
croniter>=0.3.0,!=0.3.22; sys_platform != 'win32'
|
||||||
|
-# We need contextvars for salt-ssh
|
||||||
|
-contextvars
|
||||||
10
sysutils/py-salt/files/patch-salt_ext_tornado_iostream.py
Normal file
10
sysutils/py-salt/files/patch-salt_ext_tornado_iostream.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- salt/ext/tornado/iostream.py.orig 2023-05-16 11:50:28 UTC
|
||||||
|
+++ salt/ext/tornado/iostream.py
|
||||||
|
@@ -1116,6 +1116,7 @@ class IOStream(BaseIOStream):
|
||||||
|
future = self._connect_future = TracebackFuture()
|
||||||
|
try:
|
||||||
|
self.socket.connect(address)
|
||||||
|
+ self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 524288)
|
||||||
|
except socket.error as e:
|
||||||
|
# In non-blocking mode we expect connect() to raise an
|
||||||
|
# exception with EINPROGRESS or EWOULDBLOCK.
|
||||||
11
sysutils/py-salt/files/patch-salt_loader_lazy.py
Normal file
11
sysutils/py-salt/files/patch-salt_loader_lazy.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- salt/loader/lazy.py.orig 2021-09-27 17:31:38 UTC
|
||||||
|
+++ salt/loader/lazy.py
|
||||||
|
@@ -447,7 +447,7 @@ class LazyLoader(salt.utils.lazy.LazyDict):
|
||||||
|
try:
|
||||||
|
pycache_files = [
|
||||||
|
os.path.join("__pycache__", x)
|
||||||
|
- for x in sorted(os.listdir(os.path.join(mod_dir, "__pycache__")))
|
||||||
|
+ for x in sorted(os.listdir(os.path.join(mod_dir, '__pycache__'))) if not x.endswith('opt-1.pyc') and not x.endswith('opt-2.pyc')
|
||||||
|
]
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
17
sysutils/py-salt/files/patch-salt_modules_config.py
Normal file
17
sysutils/py-salt/files/patch-salt_modules_config.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
--- salt/modules/config.py.orig 2025-01-17 15:15:13 UTC
|
||||||
|
+++ salt/modules/config.py
|
||||||
|
@@ -17,13 +17,7 @@ from salt.loader.context import LoaderContext
|
||||||
|
import salt.utils.sdb as sdb
|
||||||
|
from salt.loader.context import LoaderContext
|
||||||
|
|
||||||
|
-try:
|
||||||
|
- # Gated for salt-ssh (salt.utils.cloud imports msgpack)
|
||||||
|
- import salt.utils.cloud
|
||||||
|
-
|
||||||
|
- HAS_CLOUD = True
|
||||||
|
-except ImportError:
|
||||||
|
- HAS_CLOUD = False
|
||||||
|
+HAS_CLOUD = False
|
||||||
|
|
||||||
|
|
||||||
|
if salt.utils.platform.is_windows():
|
||||||
14
sysutils/py-salt/files/patch-salt_utils_process.py
Normal file
14
sysutils/py-salt/files/patch-salt_utils_process.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
--- salt/utils/process.py.orig 2024-07-29 07:51:58 UTC
|
||||||
|
+++ salt/utils/process.py
|
||||||
|
@@ -59,7 +59,10 @@ def appendproctitle(name):
|
||||||
|
current = setproctitle.getproctitle()
|
||||||
|
if current.strip().endswith("MainProcess"):
|
||||||
|
current, _ = current.rsplit("MainProcess", 1)
|
||||||
|
- setproctitle.setproctitle(f"{current.rstrip()} {name}")
|
||||||
|
+ if len(current) > 0:
|
||||||
|
+ setproctitle.setproctitle(f"{current.rstrip()} {name}")
|
||||||
|
+ else:
|
||||||
|
+ setproctitle.setproctitle(name)
|
||||||
|
|
||||||
|
|
||||||
|
def daemonize(redirect_out=True):
|
||||||
36
sysutils/py-salt/files/pkg-message.in
Normal file
36
sysutils/py-salt/files/pkg-message.in
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
[
|
||||||
|
{ type: install
|
||||||
|
message: <<EOM
|
||||||
|
To configure a Salt Master, do the following:
|
||||||
|
|
||||||
|
o Copy %%PREFIX%%/etc/salt/master.sample to %%PREFIX%%/etc/salt/master
|
||||||
|
o Update to meet your needs
|
||||||
|
o sysrc salt_master_enable="YES"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To configure a Salt Minion, do the following:
|
||||||
|
|
||||||
|
o Copy %%PREFIX%%/etc/salt/minion.sample to %%PREFIX%%/etc/salt/minion
|
||||||
|
o Update 'master: salt' to point to your Salt Master's hostname or IP
|
||||||
|
o sysrc salt_minion_enable="YES"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To configure a Salt Proxy Minion, do the following:
|
||||||
|
|
||||||
|
o sysrc salt_proxy_enable="YES"
|
||||||
|
o sysrc salt_proxy_list=""
|
||||||
|
o Update the salt_proxy_list with the proxy minion name(s)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To change the Transport method from the default option of Zeromq to either TCP or RAET:
|
||||||
|
|
||||||
|
o Re-build the port with the desired options enabled to install the correct runtime dependencies
|
||||||
|
o Ensure the master and minions all have salt installed with these same options and dependencies
|
||||||
|
o Add the line 'transport: [tcp|raet]' to both the master and minion configuration files
|
||||||
|
o Restart salt on the master and minions
|
||||||
|
EOM
|
||||||
|
}
|
||||||
|
]
|
||||||
29
sysutils/py-salt/files/salt_api.in
Normal file
29
sysutils/py-salt/files/salt_api.in
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Salt API startup script
|
||||||
|
#
|
||||||
|
# PROVIDE: salt_api
|
||||||
|
# REQUIRE: LOGIN
|
||||||
|
# KEYWORD: shutdown
|
||||||
|
|
||||||
|
# Add the following to /etc/rc.conf[.local] to enable this service
|
||||||
|
#
|
||||||
|
# salt_api_enable (bool): Set to NO by default.
|
||||||
|
# Set it to YES to enable salt_api
|
||||||
|
#
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name=salt_api
|
||||||
|
rcvar=salt_api_enable
|
||||||
|
|
||||||
|
load_rc_config ${name}
|
||||||
|
|
||||||
|
: ${salt_api_enable:=NO}
|
||||||
|
|
||||||
|
command="%%PREFIX%%/bin/salt-api"
|
||||||
|
command_interpreter="%%PYTHON_CMD%%"
|
||||||
|
required_files="%%PREFIX%%/etc/salt"
|
||||||
|
command_args="-c ${required_files} -d"
|
||||||
|
|
||||||
|
run_rc_command "$1"
|
||||||
42
sysutils/py-salt/files/salt_master.in
Normal file
42
sysutils/py-salt/files/salt_master.in
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#!/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"
|
||||||
42
sysutils/py-salt/files/salt_minion.in
Normal file
42
sysutils/py-salt/files/salt_minion.in
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Salt Minion startup script
|
||||||
|
#
|
||||||
|
# PROVIDE: salt_minion
|
||||||
|
# REQUIRE: LOGIN
|
||||||
|
# KEYWORD: shutdown
|
||||||
|
|
||||||
|
# Add the following to /etc/rc.conf[.local] to enable this service
|
||||||
|
#
|
||||||
|
# salt_minion_enable (bool): Set to NO by default.
|
||||||
|
# Set it to YES to enable salt_minion
|
||||||
|
# salt_minion_paths (string): Set to "/sbin:/bin:/usr/sbin:/usr/bin:%%PREFIX%%/bin:%%PREFIX%%/sbin" by default.
|
||||||
|
# Default $PATH for salt_minion
|
||||||
|
# salt_minion_eggcache (string): Set to "/tmp" by default.
|
||||||
|
# Allows defining egg cache directory to fix runtime on diskless systems.
|
||||||
|
#
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name=salt_minion
|
||||||
|
rcvar=salt_minion_enable
|
||||||
|
|
||||||
|
load_rc_config ${name}
|
||||||
|
|
||||||
|
: ${salt_minion_enable:=NO}
|
||||||
|
: ${salt_minion_paths=/sbin:/bin:/usr/sbin:/usr/bin:%%PREFIX%%/bin:%%PREFIX%%/sbin}
|
||||||
|
: ${salt_minion_configdir:=%%PREFIX%%/etc/salt}
|
||||||
|
: ${salt_minion_pidfile:=/var/run/salt-minion.pid}
|
||||||
|
: ${salt_minion_eggcache=/tmp}
|
||||||
|
|
||||||
|
command="%%PREFIX%%/bin/salt-minion"
|
||||||
|
command_interpreter="%%PYTHON_CMD%%"
|
||||||
|
required_files=${salt_minion_configdir}
|
||||||
|
pidfile=${salt_minion_pidfile}
|
||||||
|
command_args="-c ${required_files} --pid-file=${pidfile} -d"
|
||||||
|
procname="MultiMinionProcessManager"
|
||||||
|
|
||||||
|
export PATH="${salt_minion_paths}"
|
||||||
|
export PYTHON_EGG_CACHE="${salt_minion_eggcache}"
|
||||||
|
|
||||||
|
run_rc_command "$1"
|
||||||
57
sysutils/py-salt/files/salt_proxy.in
Normal file
57
sysutils/py-salt/files/salt_proxy.in
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Salt Proxy startup script
|
||||||
|
#
|
||||||
|
# PROVIDE: salt_proxy
|
||||||
|
# REQUIRE: LOGIN
|
||||||
|
# KEYWORD: shutdown
|
||||||
|
|
||||||
|
# Add the following to /etc/rc.conf[.local] to enable this service
|
||||||
|
#
|
||||||
|
# salt_proxy_enable (bool): Set to NO by default.
|
||||||
|
# Set it to YES to enable salt_proxy.
|
||||||
|
# salt_proxy_paths (string): Set to "/sbin:/bin:/usr/sbin:/usr/bin:%%PREFIX%%/bin:%%PREFIX%%/sbin" by default.
|
||||||
|
# Default $PATH for Salt
|
||||||
|
# salt_proxy_eggcache (string): Set to "/tmp" by default.
|
||||||
|
# Allows defining egg cache directory to fix runtime on diskless systems.
|
||||||
|
# salt_proxy_list (string): Set to "" by default.
|
||||||
|
# Space separated list of proxies.
|
||||||
|
#
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name=salt_proxy
|
||||||
|
rcvar=salt_proxy_enable
|
||||||
|
|
||||||
|
load_rc_config ${name}
|
||||||
|
|
||||||
|
: ${salt_proxy_enable:=NO}
|
||||||
|
: ${salt_proxy_paths=/sbin:/bin:/usr/sbin:/usr/bin:%%PREFIX%%/bin:%%PREFIX%%/sbin}
|
||||||
|
: ${salt_proxy_eggcache=/tmp}
|
||||||
|
|
||||||
|
start_cmd=salt_proxy_start
|
||||||
|
|
||||||
|
command="%%PREFIX%%/bin/salt-proxy"
|
||||||
|
command_interpreter="%%PYTHON_CMD%%"
|
||||||
|
required_files="%%PREFIX%%/etc/salt"
|
||||||
|
command_args="-c ${required_files} -d"
|
||||||
|
|
||||||
|
export PATH="${salt_proxy_paths}"
|
||||||
|
export PYTHON_EGG_CACHE="${salt_proxy_eggcache}"
|
||||||
|
|
||||||
|
salt_proxy_start()
|
||||||
|
{
|
||||||
|
if [ ! -n "${salt_proxy_list}" ]; then
|
||||||
|
echo "${salt_proxy_list} is undefined"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local _proxy
|
||||||
|
|
||||||
|
for _proxy in ${salt_proxy_list}; do
|
||||||
|
echo "Starting salt-proxy: ${_proxy}"
|
||||||
|
${command_interpreter} ${command} --proxyid ${_proxy} ${command_args}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
run_rc_command "$1"
|
||||||
29
sysutils/py-salt/files/salt_syndic.in
Normal file
29
sysutils/py-salt/files/salt_syndic.in
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Salt Synic startup script
|
||||||
|
#
|
||||||
|
# PROVIDE: salt_syndic
|
||||||
|
# REQUIRE: LOGIN
|
||||||
|
# KEYWORD: shutdown
|
||||||
|
|
||||||
|
# Add the following to /etc/rc.conf[.local] to enable this service
|
||||||
|
#
|
||||||
|
# salt_syndic_enable (bool): Set to NO by default.
|
||||||
|
# Set it to YES to enable salt_syndic
|
||||||
|
#
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name=salt_syndic
|
||||||
|
rcvar=salt_syndic_enable
|
||||||
|
|
||||||
|
load_rc_config ${name}
|
||||||
|
|
||||||
|
: ${salt_syndic_enable:=NO}
|
||||||
|
|
||||||
|
command="%%PREFIX%%/bin/salt-syndic"
|
||||||
|
command_interpreter="%%PYTHON_CMD%%"
|
||||||
|
required_files="%%PREFIX%%/etc/salt"
|
||||||
|
command_args="-c ${required_files} -d"
|
||||||
|
|
||||||
|
run_rc_command "$1"
|
||||||
7
sysutils/py-salt/pkg-descr
Normal file
7
sysutils/py-salt/pkg-descr
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Salt : Remote Execution and State Manager
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Salt is a powerful remote execution and state manager that can be
|
||||||
|
used to administer servers in a fast and efficient way.
|
||||||
|
|
||||||
|
See also: https://saltproject.io/
|
||||||
7
sysutils/py-salt/pkg-plist
Normal file
7
sysutils/py-salt/pkg-plist
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
@sample %%ETCDIR%%/master.sample
|
||||||
|
@sample %%ETCDIR%%/minion.sample
|
||||||
|
%%PYTHON_SITELIBDIR%%/salt/_syspaths.py
|
||||||
|
%%PYTHON2%%%%PYTHON_SITELIBDIR%%/salt/_syspaths.pyc
|
||||||
|
%%PYTHON2%%%%PYTHON_SITELIBDIR%%/salt/_syspaths.pyo
|
||||||
|
%%PYTHON3%%%%PYTHON_SITELIBDIR%%/salt/__pycache__/_syspaths.cpython-%%PYTHON_SUFFIX%%.pyc
|
||||||
|
%%PYTHON3%%%%PYTHON_SITELIBDIR%%/salt/__pycache__/_syspaths.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
|
||||||
Reference in New Issue
Block a user