mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-10 07:04:03 +00:00
sysutils/puppetserver8: New port
Puppet master is a Ruby application that compiles configurations for any number of Puppet agent nodes, using Puppet code and various other data sources. (For more info, see Overview of Puppet's Architecture.) Puppet Server is an application that runs on the Java Virtual Machine (JVM) and provides the same services as the classic Puppet master application. It mostly does this by running the existing Puppet master code in several JRuby interpreters, but it replaces some parts of the classic application with new services written in Clojure.
This commit is contained in:
parent
53c3c6d2e1
commit
e9c5ed3257
@ -1061,6 +1061,7 @@
|
||||
SUBDIR += puppet8
|
||||
SUBDIR += puppetserver6
|
||||
SUBDIR += puppetserver7
|
||||
SUBDIR += puppetserver8
|
||||
SUBDIR += pv
|
||||
SUBDIR += pwd_unmkdb
|
||||
SUBDIR += pwgen
|
||||
|
@ -31,7 +31,7 @@ NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
JAVA_VERSION= 8+
|
||||
|
||||
CONFLICTS_INSTALL= puppetserver7
|
||||
CONFLICTS_INSTALL= puppetserver[0-9]
|
||||
|
||||
SHEBANG_FILES= ext/bin/puppetserver
|
||||
|
||||
|
@ -28,7 +28,7 @@ NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
JAVA_VERSION= 8+
|
||||
|
||||
CONFLICTS_INSTALL= puppetserver5 puppetserver6
|
||||
CONFLICTS_INSTALL= puppetserver[0-9]
|
||||
|
||||
SHEBANG_FILES= ext/bin/puppetserver
|
||||
|
||||
|
93
sysutils/puppetserver8/Makefile
Normal file
93
sysutils/puppetserver8/Makefile
Normal file
@ -0,0 +1,93 @@
|
||||
PORTNAME= puppetserver
|
||||
PORTVERSION= 8.0.0
|
||||
CATEGORIES= sysutils java
|
||||
MASTER_SITES= https://downloads.puppetlabs.com/puppet/
|
||||
PKGNAMESUFFIX= 8
|
||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
|
||||
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
|
||||
|
||||
MAINTAINER= puppet@FreeBSD.org
|
||||
COMMENT= Puppet Server running in the JVM
|
||||
WWW= https://docs.puppetlabs.com/puppetserver/latest/services_master_puppetserver.html
|
||||
|
||||
LICENSE= APACHE20
|
||||
|
||||
ONLY_FOR_ARCHS= amd64
|
||||
|
||||
RUN_DEPENDS= bash>=0:shells/bash \
|
||||
puppet8>=8.0:sysutils/puppet8 \
|
||||
rubygem-puppetserver-ca>=1:sysutils/rubygem-puppetserver-ca \
|
||||
rubygem-semantic_puppet>=1:devel/rubygem-semantic_puppet \
|
||||
sudo>=1:security/sudo
|
||||
|
||||
USES= ruby shebangfix
|
||||
USE_RC_SUBR= puppetserver
|
||||
|
||||
USE_JAVA= yes
|
||||
NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
JAVA_VERSION= 8+
|
||||
|
||||
CONFLICTS_INSTALL= puppetserver[0-9]
|
||||
|
||||
SHEBANG_FILES= ext/bin/puppetserver
|
||||
|
||||
USERS= puppet
|
||||
GROUPS= puppet
|
||||
|
||||
SUB_LIST= JAVA_HOME=${JAVA_HOME}
|
||||
SUB_FILES= pkg-message
|
||||
|
||||
post-patch:
|
||||
.for file in ext/config/logback.xml ext/config/request-logging.xml \
|
||||
ext/config/conf.d/global.conf ext/config/conf.d/puppetserver.conf \
|
||||
ext/config/conf.d/web-routes.conf ext/config/conf.d/webserver.conf \
|
||||
ext/config/conf.d/auth.conf ext/config/services.d/ca.cfg \
|
||||
ext/system-config/services.d/bootstrap.cfg ext/bin/puppetserver \
|
||||
ext/cli_defaults/cli-defaults.sh ext/cli/foreground
|
||||
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \
|
||||
-e 's|%%RUBY_SITELIBDIR%%|${RUBY_SITELIBDIR}|' \
|
||||
-e 's|%%RUBY_VER%%|${RUBY_VER}|' \
|
||||
-e 's|%%JAVA%%|${JAVA}|' \
|
||||
-e 's|%%ETCDIR%%|${ETCDIR}|' \
|
||||
-e 's|%%DATADIR%%|${DATADIR}|' \
|
||||
${WRKSRC}/${file}
|
||||
.endfor
|
||||
@${REINPLACE_CMD} -e 's|#!/opt/puppetlabs/puppet/bin/ruby|#!${RUBY}|' \
|
||||
${WRKSRC}/ext/cli/ca \
|
||||
${WRKSRC}/ext/cli/dropsonde
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${STAGEDIR}${DATADIR}/cli/apps
|
||||
@${MKDIR} ${STAGEDIR}${ETCDIR}/conf.d
|
||||
@${MKDIR} ${STAGEDIR}${ETCDIR}/services.d
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/puppet/code
|
||||
@${MKDIR} ${STAGEDIR}/var/log/puppetserver
|
||||
@${MKDIR} ${STAGEDIR}/var/puppet/server
|
||||
@${MKDIR} ${STAGEDIR}/var/puppet/server/data
|
||||
@${MKDIR} ${STAGEDIR}/var/puppetserver
|
||||
@${MKDIR} ${STAGEDIR}/var/run/puppetserver
|
||||
${INSTALL_DATA} ${WRKSRC}/puppet-server-release.jar ${STAGEDIR}${DATADIR}/puppet-server-release.jar
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/global.conf ${STAGEDIR}${ETCDIR}/conf.d/global.conf.sample
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/config/logback.xml ${STAGEDIR}${ETCDIR}/logback.xml.sample
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/config/request-logging.xml ${STAGEDIR}${ETCDIR}/request-logging.xml.sample
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/puppetserver.conf ${STAGEDIR}${ETCDIR}/conf.d/puppetserver.conf.sample
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/web-routes.conf ${STAGEDIR}${ETCDIR}/conf.d/web-routes.conf.sample
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/webserver.conf ${STAGEDIR}${ETCDIR}/conf.d/webserver.conf.sample
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/auth.conf ${STAGEDIR}${ETCDIR}/conf.d/auth.conf.sample
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/config/conf.d/metrics.conf ${STAGEDIR}${ETCDIR}/conf.d/metrics.conf.sample
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/config/services.d/ca.cfg ${STAGEDIR}${ETCDIR}/services.d/ca.cfg.sample
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/system-config/services.d/bootstrap.cfg ${STAGEDIR}${ETCDIR}/services.d/bootstrap.cfg.sample
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/bin/puppetserver ${STAGEDIR}${PREFIX}/bin/puppetserver
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/ezbake-functions.sh ${STAGEDIR}${DATADIR}/ezbake-functions.sh
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/cli/ca ${STAGEDIR}${DATADIR}/cli/apps/ca
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/cli/foreground ${STAGEDIR}${DATADIR}/cli/apps/foreground
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/cli/gem ${STAGEDIR}${DATADIR}/cli/apps/gem
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/cli/irb ${STAGEDIR}${DATADIR}/cli/apps/irb
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/cli/reload ${STAGEDIR}${DATADIR}/cli/apps/reload
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/cli/ruby ${STAGEDIR}${DATADIR}/cli/apps/ruby
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/cli/start ${STAGEDIR}${DATADIR}/cli/apps/start
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/cli/stop ${STAGEDIR}${DATADIR}/cli/apps/stop
|
||||
${INSTALL_DATA} ${WRKSRC}/ext/cli_defaults/cli-defaults.sh ${STAGEDIR}${DATADIR}/cli/cli-defaults.sh
|
||||
|
||||
.include <bsd.port.mk>
|
3
sysutils/puppetserver8/distinfo
Normal file
3
sysutils/puppetserver8/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1682476133
|
||||
SHA256 (puppetserver-8.0.0.tar.gz) = 645308576da1a7eadc2553dac9cc7da8f3ad6c22a49a08f19153f5a21bb2fd84
|
||||
SIZE (puppetserver-8.0.0.tar.gz) = 60976845
|
15
sysutils/puppetserver8/files/patch-ext__bin__puppetserver
Normal file
15
sysutils/puppetserver8/files/patch-ext__bin__puppetserver
Normal file
@ -0,0 +1,15 @@
|
||||
--- ext/bin/puppetserver.orig 2018-10-03 16:18:58 UTC
|
||||
+++ ext/bin/puppetserver
|
||||
@@ -15,6 +15,12 @@ elif [ `uname` == "OpenBSD" ] ; then
|
||||
USER="_puppet"
|
||||
INSTALL_DIR="/opt/puppetlabs/server/apps/puppetserver"
|
||||
CONFIG="/etc/puppetlabs/puppetserver/conf.d"
|
||||
+elif [ `uname` == "FreeBSD" ] ; then
|
||||
+ JAVA_BIN="%%JAVA%%"
|
||||
+ JAVA_ARGS="-Xms2g -Xmx2g"
|
||||
+ USER="puppet"
|
||||
+ INSTALL_DIR="%%DATADIR%%"
|
||||
+ CONFIG="%%ETCDIR%%/conf.d"
|
||||
else
|
||||
echo "You seem to be missing some important configuration files; could not find /etc/default/puppetserver or /etc/sysconfig/puppetserver" >&2
|
||||
exit 1
|
19
sysutils/puppetserver8/files/patch-ext__cli__foreground
Normal file
19
sysutils/puppetserver8/files/patch-ext__cli__foreground
Normal file
@ -0,0 +1,19 @@
|
||||
--- ext/cli/foreground.orig 2019-09-17 14:05:56 UTC
|
||||
+++ ext/cli/foreground
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
-restartfile="/opt/puppetlabs/server/data/puppetserver/restartcounter"
|
||||
+restartfile="/var/puppet/server/data/puppetserver/restartcounter"
|
||||
cli_defaults=${INSTALL_DIR}/cli/cli-defaults.sh
|
||||
|
||||
if [ ! -e "${INSTALL_DIR}/ezbake-functions.sh" ]; then
|
||||
@@ -30,7 +30,7 @@ fi
|
||||
COMMAND="${JAVA_BIN} ${JAVA_ARGS} ${LOG_APPENDER} \
|
||||
-cp "$CLASSPATH" \
|
||||
clojure.main -m puppetlabs.trapperkeeper.main \
|
||||
- --config ${CONFIG} --bootstrap-config ${BOOTSTRAP_CONFIG} \
|
||||
+ --config ${CONFIG} --bootstrap-config %%ETCDIR%%/services.d \
|
||||
--restart-file "${restartfile}" \
|
||||
${TK_ARGS} \
|
||||
${@}"
|
@ -0,0 +1,12 @@
|
||||
--- ext/cli_defaults/cli-defaults.sh.orig 2019-09-17 14:05:56 UTC
|
||||
+++ ext/cli_defaults/cli-defaults.sh
|
||||
@@ -1,7 +1,7 @@
|
||||
-INSTALL_DIR="/opt/puppetlabs/server/apps/puppetserver"
|
||||
+INSTALL_DIR="%%DATADIR%%"
|
||||
|
||||
if [ -n "$JRUBY_JAR" ]; then
|
||||
echo "Warning: the JRUBY_JAR setting is no longer needed and will be ignored." 1>&2
|
||||
fi
|
||||
|
||||
-CLASSPATH="${CLASSPATH}:/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.jar:/opt/puppetlabs/server/data/puppetserver/jars/*"
|
||||
+CLASSPATH="${CLASSPATH}:/usr/local/lib/ruby/vendor_ruby/facter.jar:/opt/puppetlabs/server/data/puppetserver/jars/*"
|
@ -0,0 +1,9 @@
|
||||
--- ext/config/conf.d/global.conf.orig 2018-10-01 20:36:05 UTC
|
||||
+++ ext/config/conf.d/global.conf
|
||||
@@ -1,5 +1,5 @@
|
||||
global: {
|
||||
# Path to logback logging configuration file; for more
|
||||
# info, see http://logback.qos.ch/manual/configuration.html
|
||||
- logging-config: /etc/puppetlabs/puppetserver/logback.xml
|
||||
+ logging-config: %%PREFIX%%/etc/puppetserver/logback.xml
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
--- ext/config/conf.d/puppetserver.conf.orig 2021-03-12 18:01:54 UTC
|
||||
+++ ext/config/conf.d/puppetserver.conf
|
||||
@@ -2,16 +2,20 @@
|
||||
jruby-puppet: {
|
||||
# Where the puppet-agent dependency places puppet, facter, etc...
|
||||
# Puppet server expects to load Puppet from this location
|
||||
- ruby-load-path: [/opt/puppetlabs/puppet/lib/ruby/vendor_ruby]
|
||||
+ ruby-load-path: [
|
||||
+ %%PREFIX%%/share/puppetserver/lib,
|
||||
+ %%RUBY_SITELIBDIR%%,
|
||||
+ %%PREFIX%%/lib/ruby/vendor_ruby,
|
||||
+ ]
|
||||
|
||||
# This setting determines where JRuby will install gems. It is used for loading gems,
|
||||
# and also by the `puppetserver gem` command line tool.
|
||||
- gem-home: /opt/puppetlabs/server/data/puppetserver/jruby-gems
|
||||
+ gem-home: /var/puppet/server/data/puppetserver/jruby-gems
|
||||
|
||||
# This setting defines the complete "GEM_PATH" for jruby. If set, it should include
|
||||
# the gem-home directory as well as any other directories that gems can be loaded
|
||||
# from (including the vendored gems directory for gems that ship with puppetserver)
|
||||
- gem-path: [${jruby-puppet.gem-home}, "/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems", "/opt/puppetlabs/puppet/lib/ruby/vendor_gems"]
|
||||
+ gem-path: [${jruby-puppet.gem-home}, "/var/puppet/server/data/puppetserver/vendored-jruby-gems", "%%PREFIX%%/lib/ruby/gems/%%RUBY_VER%%"]
|
||||
|
||||
# PLEASE NOTE: Use caution when modifying the below settings. Modifying
|
||||
# these settings will change the value of the corresponding Puppet settings
|
||||
@@ -26,23 +30,23 @@ jruby-puppet: {
|
||||
|
||||
# (optional) path to puppet conf dir; if not specified, will use
|
||||
# /etc/puppetlabs/puppet
|
||||
- server-conf-dir: /etc/puppetlabs/puppet
|
||||
+ server-conf-dir: %%PREFIX%%/etc/puppet
|
||||
|
||||
# (optional) path to puppet code dir; if not specified, will use
|
||||
# /etc/puppetlabs/code
|
||||
- server-code-dir: /etc/puppetlabs/code
|
||||
+ server-code-dir: %%PREFIX%%/etc/puppet/code
|
||||
|
||||
# (optional) path to puppet var dir; if not specified, will use
|
||||
# /opt/puppetlabs/server/data/puppetserver
|
||||
- server-var-dir: /opt/puppetlabs/server/data/puppetserver
|
||||
+ server-var-dir: /var/puppet/server/data/puppetserver
|
||||
|
||||
# (optional) path to puppet run dir; if not specified, will use
|
||||
# /var/run/puppetlabs/puppetserver
|
||||
- server-run-dir: /var/run/puppetlabs/puppetserver
|
||||
+ server-run-dir: /var/run/puppetserver
|
||||
|
||||
# (optional) path to puppet log dir; if not specified, will use
|
||||
# /var/log/puppetlabs/puppetserver
|
||||
- server-log-dir: /var/log/puppetlabs/puppetserver
|
||||
+ server-log-dir: /var/log/puppetserver
|
||||
|
||||
# (optional) maximum number of JRuby instances to allow
|
||||
#max-active-instances: 1
|
@ -0,0 +1,9 @@
|
||||
--- ext/config/conf.d/webserver.conf.orig 2018-10-01 20:36:05 UTC
|
||||
+++ ext/config/conf.d/webserver.conf
|
||||
@@ -1,5 +1,5 @@
|
||||
webserver: {
|
||||
- access-log-config: /etc/puppetlabs/puppetserver/request-logging.xml
|
||||
+ access-log-config: %%PREFIX%%/etc/puppetserver/request-logging.xml
|
||||
client-auth: want
|
||||
ssl-host: 0.0.0.0
|
||||
ssl-port: 8140
|
17
sysutils/puppetserver8/files/patch-ext__config__logback.xml
Normal file
17
sysutils/puppetserver8/files/patch-ext__config__logback.xml
Normal file
@ -0,0 +1,17 @@
|
||||
--- ext/config/logback.xml.orig 2018-09-18 17:16:33 UTC
|
||||
+++ ext/config/logback.xml
|
||||
@@ -6,12 +6,11 @@
|
||||
</appender>
|
||||
|
||||
<appender name="F1" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
- <!-- TODO: this path should not be hard-coded -->
|
||||
- <file>/var/log/puppetlabs/puppetserver/puppetserver.log</file>
|
||||
+ <file>/var/log/puppetserver/puppetserver.log</file>
|
||||
<append>true</append>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!-- rollover daily -->
|
||||
- <fileNamePattern>/var/log/puppetlabs/puppetserver/puppetserver-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
|
||||
+ <fileNamePattern>/var/log/puppetserver/puppetserver-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
|
||||
<!-- each file should be at most 200MB, keep 90 days worth of history, but at most 1GB total-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<maxHistory>90</maxHistory>
|
@ -0,0 +1,15 @@
|
||||
--- ext/config/request-logging.xml.orig 2018-09-18 17:16:33 UTC
|
||||
+++ ext/config/request-logging.xml
|
||||
@@ -1,10 +1,10 @@
|
||||
<configuration debug="false">
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
- <file>/var/log/puppetlabs/puppetserver/puppetserver-access.log</file>
|
||||
+ <file>/var/log/puppetserver/puppetserver-access.log</file>
|
||||
<append>true</append>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!-- rollover daily -->
|
||||
- <fileNamePattern>/var/log/puppetlabs/puppetserver/puppetserver-access-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
|
||||
+ <fileNamePattern>/var/log/puppetserver/puppetserver-access-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
|
||||
<!-- each file should be at most 200MB, keep 90 days worth of history, but at most 1GB total-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<maxHistory>90</maxHistory>
|
11
sysutils/puppetserver8/files/patch-ext__ezbake-functions.sh
Normal file
11
sysutils/puppetserver8/files/patch-ext__ezbake-functions.sh
Normal file
@ -0,0 +1,11 @@
|
||||
--- ext/ezbake-functions.sh.orig 2019-09-17 14:05:56 UTC
|
||||
+++ ext/ezbake-functions.sh
|
||||
@@ -126,7 +126,7 @@ init_restart_file()
|
||||
local group="${GROUP:-puppet}"
|
||||
|
||||
if [ ! -e "$restartfile" ]; then
|
||||
- /usr/bin/install --directory --owner=$user --group=$group --mode=755 "$restart_file_base_dir"
|
||||
+ /usr/bin/install -d -o $user -g $group -m 755 "$restart_file_base_dir"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Unable to create or set permissions for restart file at ${restart_file_base_dir}" 1>&2
|
||||
return 1
|
17
sysutils/puppetserver8/files/pkg-message.in
Normal file
17
sysutils/puppetserver8/files/pkg-message.in
Normal file
@ -0,0 +1,17 @@
|
||||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
Remember to run:
|
||||
|
||||
sysrc puppetserver_enable=yes
|
||||
|
||||
A note to users upgrading to 2.6 who have also modified bootstrap.cfg, please
|
||||
see the release notes for breaking changes in 2.5.
|
||||
|
||||
https://docs.puppet.com/puppetserver/latest/release_notes.html#puppet-server-25
|
||||
|
||||
The file bootstrap.cfg has been removed and ca configuration has been moved out
|
||||
to its own file in ca.cfg.
|
||||
EOM
|
||||
}
|
||||
]
|
95
sysutils/puppetserver8/files/puppetserver.in
Normal file
95
sysutils/puppetserver8/files/puppetserver.in
Normal file
@ -0,0 +1,95 @@
|
||||
#!/bin/sh
|
||||
|
||||
# PROVIDE: puppetserver
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
|
||||
#
|
||||
# Configuration settings for puppetserver in /etc/rc.conf:
|
||||
#
|
||||
# puppetserver_enable (bool):
|
||||
# Set to "NO" by default.
|
||||
# Set it to "YES" to enable puppetserver
|
||||
#
|
||||
# puppetserver_args (str):
|
||||
# Extra arguments passed to start command
|
||||
#
|
||||
# puppetserver_java_home (str):
|
||||
# Set to "%%JAVA_HOME%%" by default.
|
||||
# Set the Java virtual machine to run puppetserver
|
||||
#
|
||||
# puppetserver_java_opts (str):
|
||||
# Set to "" by default.
|
||||
# Java VM args to use.
|
||||
#
|
||||
# puppetserver_user (str):
|
||||
# Set to "puppet" by default.
|
||||
# User to run puppetserver as.
|
||||
#
|
||||
# puppetserver_group (str):
|
||||
# Set to "puppet" by default.
|
||||
# Group for data file ownership.
|
||||
#
|
||||
# puppetserver_log_file (str):
|
||||
# Set to "/var/log/puppetserver/puppetserver.log" by default.
|
||||
# Log file location.
|
||||
#
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name="puppetserver"
|
||||
rcvar=puppetserver_enable
|
||||
|
||||
load_rc_config "${name}"
|
||||
|
||||
: ${puppetserver_enable="NO"}
|
||||
: ${puppetserver_args="--config %%PREFIX%%/etc/puppetserver/conf.d -b %%PREFIX%%/etc/puppetserver/services.d"}
|
||||
: ${puppetserver_java_home="%%JAVA_HOME%%"}
|
||||
: ${puppetserver_java_opts=""}
|
||||
: ${puppetserver_user="puppet"}
|
||||
: ${puppetserver_group="puppet"}
|
||||
: ${puppetserver_log_file="/var/log/puppetserver/puppetserver.log"}
|
||||
|
||||
pidfile="/var/run/puppetserver/puppetserver.pid"
|
||||
command="/usr/sbin/daemon"
|
||||
java_cmd="${puppetserver_java_home}/bin/java"
|
||||
procname="${java_cmd}"
|
||||
command_args="-f -p ${pidfile} ${java_cmd} ${puppetserver_java_opts} -cp %%DATADIR%%/puppet-server-release.jar:%%PREFIX%%/lib/ruby/vendor_ruby/facter.jar clojure.main -m puppetlabs.trapperkeeper.main ${puppetserver_args}"
|
||||
|
||||
|
||||
required_files="${java_cmd}"
|
||||
|
||||
start_precmd="puppetserver_prestart"
|
||||
|
||||
# An UTF-8 locale is required
|
||||
: LC_ALL=${LC_ALL:=C.UTF-8}
|
||||
case $LC_ALL in
|
||||
*.UTF-8)
|
||||
;;
|
||||
*.*)
|
||||
LC_ALL="${LC_ALL%.*}.UTF-8"
|
||||
;;
|
||||
*)
|
||||
LC_ALL=C.UTF-8
|
||||
;;
|
||||
esac
|
||||
export LC_ALL
|
||||
|
||||
puppetserver_prestart() {
|
||||
if [ ! -f "${puppetserver_log_file}" ]; then
|
||||
touch "${puppetserver_log_file}"
|
||||
chown "${puppetserver_user}:${puppetserver_group}" "${puppetserver_log_file}"
|
||||
chmod 640 "${puppetserver_log_file}"
|
||||
fi
|
||||
if [ ! -d "/var/run/puppetserver" ]; then
|
||||
install -d -o "${puppetserver_user}" -g "${puppetserver_group}" -m 750 "/var/run/puppetserver"
|
||||
fi
|
||||
|
||||
chown -R "root:${puppetserver_group}" "%%PREFIX%%/etc/puppetserver/conf.d"
|
||||
chmod 0750 "%%PREFIX%%/etc/puppetserver/conf.d"
|
||||
|
||||
chown "root:${puppetserver_group}" "%%PREFIX%%/etc/puppetserver/logback.xml"
|
||||
chmod 0640 "%%PREFIX%%/etc/puppetserver/logback.xml"
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
11
sysutils/puppetserver8/pkg-descr
Normal file
11
sysutils/puppetserver8/pkg-descr
Normal file
@ -0,0 +1,11 @@
|
||||
Puppet master is a Ruby application that compiles configurations
|
||||
for any number of Puppet agent nodes, using Puppet code and various
|
||||
other data sources. (For more info, see Overview of Puppet's
|
||||
Architecture.)
|
||||
|
||||
Puppet Server is an application that runs on the Java Virtual Machine
|
||||
(JVM) and provides the same services as the classic Puppet master
|
||||
application. It mostly does this by running the existing Puppet
|
||||
master code in several JRuby interpreters, but it replaces some
|
||||
parts of the classic application with new services written in
|
||||
Clojure.
|
29
sysutils/puppetserver8/pkg-plist
Normal file
29
sysutils/puppetserver8/pkg-plist
Normal file
@ -0,0 +1,29 @@
|
||||
@(,,750) bin/puppetserver
|
||||
@sample %%ETCDIR%%/logback.xml.sample
|
||||
@sample %%ETCDIR%%/request-logging.xml.sample
|
||||
@sample %%ETCDIR%%/conf.d/auth.conf.sample
|
||||
@sample %%ETCDIR%%/conf.d/global.conf.sample
|
||||
@sample %%ETCDIR%%/conf.d/metrics.conf.sample
|
||||
@sample %%ETCDIR%%/conf.d/puppetserver.conf.sample
|
||||
@sample %%ETCDIR%%/conf.d/web-routes.conf.sample
|
||||
@sample %%ETCDIR%%/conf.d/webserver.conf.sample
|
||||
@sample %%ETCDIR%%/services.d/bootstrap.cfg.sample
|
||||
@sample %%ETCDIR%%/services.d/ca.cfg.sample
|
||||
@dir(,puppet,750) etc/puppet/code
|
||||
%%DATADIR%%/puppet-server-release.jar
|
||||
@(,,755) %%DATADIR%%/cli/apps/ca
|
||||
@(,,755) %%DATADIR%%/cli/apps/foreground
|
||||
@(,,755) %%DATADIR%%/cli/apps/gem
|
||||
@(,,755) %%DATADIR%%/cli/apps/irb
|
||||
@(,,755) %%DATADIR%%/cli/apps/reload
|
||||
@(,,755) %%DATADIR%%/cli/apps/ruby
|
||||
@(,,755) %%DATADIR%%/cli/apps/start
|
||||
@(,,755) %%DATADIR%%/cli/apps/stop
|
||||
@(,,755) %%DATADIR%%/cli/cli-defaults.sh
|
||||
@(,,755) %%DATADIR%%/ezbake-functions.sh
|
||||
@dir(puppet,puppet,750) /var/log/puppetserver
|
||||
@dir(puppet,puppet,755) /var/puppet
|
||||
@dir(puppet,puppet,750) /var/puppet/server
|
||||
@dir(puppet,puppet,750) /var/puppet/server/data
|
||||
@dir(puppet,puppet,750) /var/puppetserver
|
||||
@dir(puppet,puppet,750) /var/run/puppetserver
|
Loading…
Reference in New Issue
Block a user