diff --git a/puppetdb/ext/bin/puppetdb b/puppetdb/ext/bin/puppetdb index 22bad719..ee89ab69 100644 --- a/puppetdb/ext/bin/puppetdb +++ b/puppetdb/ext/bin/puppetdb @@ -4,10 +4,9 @@ umask 027 set -a -if [ -r "/etc/default/puppetdb" ] ; then - . /etc/default/puppetdb -elif [ -r "/etc/sysconfig/puppetdb" ] ; then - . /etc/sysconfig/puppetdb +SYSCONFIGCFG="/etc/sysconfig/puppetdb" +if [ -r "$SYSCONFIGCFG" ] ; then + . $SYSCONFIGCFG elif [ `uname` == "OpenBSD" ] ; then JAVA_BIN=$(javaPathHelper -c puppetdb) JAVA_ARGS="-Xmx192m -Djdk.tls.ephemeralDHKeySize=2048" @@ -16,7 +15,7 @@ elif [ `uname` == "OpenBSD" ] ; then INSTALL_DIR="/opt/puppetlabs/server/apps/puppetdb" CONFIG="/etc/puppetlabs/puppetdb/conf.d" else - echo "You seem to be missing some important configuration files; could not find /etc/default/puppetdb or /etc/sysconfig/puppetdb" >&2 + echo "You seem to be missing some important configuration files; could not find /etc/sysconfig/puppetdb" >&2 exit 1 fi set +a diff --git a/puppetdb/ext/cli/anonymize b/puppetdb/ext/cli/anonymize index a8548390..840734d6 100644 --- a/puppetdb/ext/cli/anonymize +++ b/puppetdb/ext/cli/anonymize @@ -1,3 +1,11 @@ #!/bin/bash +SYSCONFIGCFG="/etc/sysconfig/puppetdb" +if [ -r "$SYSCONFIGCFG" ] ; then + . $SYSCONFIGCFG +else + echo "You seem to be missing some important configuration files; could not find /etc/sysconfig/puppetdb" >&2 + exit 1 +fi + ${JAVA_BIN} ${JAVA_ARGS} -cp ${INSTALL_DIR}/puppetdb.jar clojure.main -m puppetlabs.puppetdb.core anonymize "$@" diff --git a/puppetdb/ext/cli/config-migration b/puppetdb/ext/cli/config-migration index bbf76da7..13c6f622 100644 --- a/puppetdb/ext/cli/config-migration +++ b/puppetdb/ext/cli/config-migration @@ -188,7 +188,7 @@ orig_database_file=${orig_config_dir}/database.ini orig_config_file=${orig_config_dir}/config.ini orig_ini_files=($orig_jetty_file $orig_database_file $orig_config_file) -config_dir=/etc/puppetlabs/puppetdb/conf.d +config_dir=/etc/puppetdb/conf.d database_file=${config_dir}/database.ini jetty_file=${config_dir}/jetty.ini config_file=${config_dir}/config.ini diff --git a/puppetdb/ext/cli/foreground b/puppetdb/ext/cli/foreground index 8e5e7850..ae8ccf1d 100644 --- a/puppetdb/ext/cli/foreground +++ b/puppetdb/ext/cli/foreground @@ -1,6 +1,14 @@ #!/usr/bin/env bash -restartfile="/opt/puppetlabs/server/data/puppetdb/restartcounter" +SYSCONFIGCFG="/etc/sysconfig/puppetdb" +if [ -r "$SYSCONFIGCFG" ] ; then + . $SYSCONFIGCFG +else + echo "You seem to be missing some important configuration files; could not find /etc/sysconfig/puppetdb" >&2 + exit 1 +fi + +restartfile="/var/lib/puppetdb/restartcounter" cli_defaults=${INSTALL_DIR}/cli/cli-defaults.sh if [ ! -e "${INSTALL_DIR}/ezbake-functions.sh" ]; then diff --git a/puppetdb/ext/cli/reload b/puppetdb/ext/cli/reload index b38b577b..d1d85839 100644 --- a/puppetdb/ext/cli/reload +++ b/puppetdb/ext/cli/reload @@ -1,6 +1,8 @@ #!/usr/bin/env bash set +e +. /etc/sysconfig/puppetdb + restartfile="/opt/puppetlabs/server/data/puppetdb/restartcounter" reload_timeout="${RELOAD_TIMEOUT:-120}" timeout="$reload_timeout" diff --git a/puppetdb/ext/cli/ssl-setup b/puppetdb/ext/cli/ssl-setup index dbedd183..9ce9b04c 100644 --- a/puppetdb/ext/cli/ssl-setup +++ b/puppetdb/ext/cli/ssl-setup @@ -237,13 +237,12 @@ then done else # This should be run on the host with PuppetDB - PATH=/opt/puppetlabs/bin:/opt/puppet/bin:$PATH agent_confdir=`puppet agent --configprint confdir` agent_vardir=`puppet agent --configprint vardir` - user=puppetdb - group=puppetdb + user=_puppetdb + group=_puppetdb - puppetdb_confdir="/etc/puppetlabs/puppetdb" + puppetdb_confdir="/etc/puppetdb" fi set -e diff --git a/puppetdb/ext/cli/start b/puppetdb/ext/cli/start index cf9e203a..9f4b099c 100644 --- a/puppetdb/ext/cli/start +++ b/puppetdb/ext/cli/start @@ -1,20 +1,22 @@ #!/usr/bin/env bash set +e +. /etc/sysconfig/puppetdb + pid="$(pgrep -f "puppetdb.jar.* -m puppetlabs.puppetdb.cli.services")" -restartfile="/opt/puppetlabs/server/data/puppetdb/restartcounter" +restartfile="/var/lib/puppetdb/restartcounter" start_timeout="${START_TIMEOUT:-14400}" real_name="puppetdb" if [ -d "/run" ]; then - rundir="/run/puppetlabs/${real_name}" + rundir="/run/${real_name}" else - rundir="/var/run/puppetlabs/${real_name}" + rundir="/var/run/${real_name}" fi -app_logdir=${app_logdir:=/var/log/puppetlabs/${real_name}} +app_logdir=${app_logdir:=/var/log/${real_name}} PIDFILE="${rundir}/${real_name}.pid" cli_defaults=${INSTALL_DIR}/cli/cli-defaults.sh diff --git a/puppetdb/ext/cli/stop b/puppetdb/ext/cli/stop index d0e688ed..3a2b3ebe 100644 --- a/puppetdb/ext/cli/stop +++ b/puppetdb/ext/cli/stop @@ -1,13 +1,15 @@ #!/usr/bin/env bash set +e +. /etc/sysconfig/puppetdb + pid="$(pgrep -f "puppetdb.jar.* -m puppetlabs.puppetdb.cli.services")" realname="puppetdb" if [ -d "/run" ]; then - PIDFILE="/run/puppetlabs/${realname}/${realname}.pid" + PIDFILE="/run/${realname}/${realname}.pid" else - PIDFILE="/var/run/puppetlabs/${realname}/${realname}.pid" + PIDFILE="/var/run/${realname}/${realname}.pid" fi if [ ! -e "${INSTALL_DIR}/ezbake-functions.sh" ]; then diff --git a/puppetdb/ext/cli/upgrade b/puppetdb/ext/cli/upgrade index f72a2dce..1142bae1 100644 --- a/puppetdb/ext/cli/upgrade +++ b/puppetdb/ext/cli/upgrade @@ -2,6 +2,14 @@ set -e +SYSCONFIGCFG="/etc/sysconfig/puppetdb" +if [ -r "$SYSCONFIGCFG" ] ; then + . $SYSCONFIGCFG +else + echo "You seem to be missing some important configuration files; could not find /etc/sysconfig/puppetdb" >&2 + exit 1 +fi + # Note: the variables here may look generic, but are currently # exported by the puppet packaging scripts. For example, even though # they may look like it, JAVA_BIN and JAVA_ARGS are not upstream java diff --git a/puppetdb/ext/config/conf.d/config.ini b/puppetdb/ext/config/conf.d/config.ini index 4a32adfa..fc58f857 100644 --- a/puppetdb/ext/config/conf.d/config.ini +++ b/puppetdb/ext/config/conf.d/config.ini @@ -3,10 +3,10 @@ [global] # Store mq/db data in a custom directory -vardir = /opt/puppetlabs/server/data/puppetdb +vardir = /var/lib/puppetdb # Use an external logback config file -logging-config = /etc/puppetlabs/puppetdb/logback.xml +logging-config = /etc/puppetdb/logback.xml [command-processing] # How many command-processing threads to use, defaults to (CPUs / 2) diff --git a/puppetdb/ext/config/conf.d/jetty.ini b/puppetdb/ext/config/conf.d/jetty.ini index 46693fb9..380fcdaa 100644 --- a/puppetdb/ext/config/conf.d/jetty.ini +++ b/puppetdb/ext/config/conf.d/jetty.ini @@ -30,4 +30,4 @@ port = 8080 # Access logging configuration path. To turn off access logging # comment out the line with `access-log-config=...` -access-log-config = /etc/puppetlabs/puppetdb/request-logging.xml +access-log-config = /etc/puppetdb/request-logging.xml diff --git a/puppetdb/ext/config/logback.xml b/puppetdb/ext/config/logback.xml index fb31aad5..548a2625 100644 --- a/puppetdb/ext/config/logback.xml +++ b/puppetdb/ext/config/logback.xml @@ -6,10 +6,10 @@ - /var/log/puppetlabs/puppetdb/puppetdb.log + /var/log/puppetdb/puppetdb.log true - /var/log/puppetlabs/puppetdb/puppetdb-%d{yyyy-MM-dd}.%i.log.gz + /var/log/puppetdb/puppetdb-%d{yyyy-MM-dd}.%i.log.gz 200MB 90 @@ -24,11 +24,11 @@ - /var/log/puppetlabs/puppetdb/puppetdb-status.log + /var/log/puppetdb/puppetdb-status.log true - /var/log/puppetlabs/puppetdb/puppetdb-status-%d{yyyy-MM-dd}.%i.log.gz + /var/log/puppetdb/puppetdb-status-%d{yyyy-MM-dd}.%i.log.gz 200MB 90 diff --git a/puppetdb/ext/config/request-logging.xml b/puppetdb/ext/config/request-logging.xml index 10c8a476..b91e2d17 100644 --- a/puppetdb/ext/config/request-logging.xml +++ b/puppetdb/ext/config/request-logging.xml @@ -1,9 +1,9 @@ - /var/log/puppetlabs/puppetdb/puppetdb-access.log + /var/log/puppetdb/puppetdb-access.log true - /var/log/puppetlabs/puppetdb/puppetdb-access-%d{yyyy-MM-dd}.%i.log.gz + /var/log/puppetdb/puppetdb-access-%d{yyyy-MM-dd}.%i.log.gz 200MB 90 diff --git a/puppetdb/ext/default b/puppetdb/ext/default index a7f5c973..b2fc21d3 100644 --- a/puppetdb/ext/default +++ b/puppetdb/ext/default @@ -15,13 +15,13 @@ JAVA_ARGS_CLI="${JAVA_ARGS_CLI:-}" TK_ARGS="" # These normally shouldn't need to be edited if using OS packages -USER="puppetdb" -GROUP="puppetdb" -INSTALL_DIR="/opt/puppetlabs/server/apps/puppetdb" -CONFIG="/etc/puppetlabs/puppetdb/conf.d" +USER="_puppetdb" +GROUP="_puppetdb" +INSTALL_DIR="/usr/share/java/puppetdb" +CONFIG="/etc/puppetdb/conf.d" # Bootstrap path -BOOTSTRAP_CONFIG="/etc/puppetlabs/puppetdb/bootstrap.cfg" +BOOTSTRAP_CONFIG="/etc/puppetdb/bootstrap.cfg" # SERVICE_STOP_RETRIES can be set here to alter the default stop timeout in # seconds. For systemd, the shorter of this setting or 'TimeoutStopSec' in diff --git a/puppetdb/ext/fpm.rb b/puppetdb/ext/fpm.rb index d42fbec9..bbe09269 100644 --- a/puppetdb/ext/fpm.rb +++ b/puppetdb/ext/fpm.rb @@ -157,10 +157,10 @@ fpm_opts = Array('') shared_opts = Array('') termini_opts = Array('') -options.app_logdir = "/var/log/puppetlabs/#{options.realname}" -options.app_rundir = "/var/run/puppetlabs/#{options.realname}" -options.app_prefix = "/opt/puppetlabs/server/apps/#{options.realname}" -options.app_data = "/opt/puppetlabs/server/data/#{options.realname}" +options.app_logdir = "/var/log/#{options.realname}" +options.app_rundir = "/var/run/#{options.realname}" +options.app_prefix = "/usr/share/java/#{options.realname}" +options.app_data = "/var/lib/#{options.realname}" # rpm specific options if options.output_type == 'rpm' @@ -221,7 +221,7 @@ if options.output_type == 'rpm' fpm_opts << "--rpm-tag '%{?systemd_requires}'" end - fpm_opts << "--config-files /etc/puppetlabs/#{options.realname}" + fpm_opts << "--config-files /etc/#{options.realname}" fpm_opts << "--config-files /etc/sysconfig/#{options.name}" options.additional_dirs.each do |dir| @@ -238,16 +238,13 @@ if options.output_type == 'rpm' end fpm_opts << "--directories #{options.app_logdir}" - fpm_opts << "--directories /etc/puppetlabs/#{options.realname}" + fpm_opts << "--directories /etc/#{options.realname}" fpm_opts << "--directories #{options.app_rundir}" shared_opts << "--rpm-auto-add-directories" - fpm_opts << "--rpm-auto-add-exclude-directories /etc/puppetlabs" - shared_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs" - fpm_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/bin" - fpm_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/server" - fpm_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/server/apps" - fpm_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/server/bin" - fpm_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/server/data" + fpm_opts << "--rpm-auto-add-exclude-directories /etc/puppetldb" + shared_opts << "--rpm-auto-add-exclude-directories /opt/puppetdb" + fpm_opts << "--rpm-auto-add-exclude-directories /usr/share/java" + fpm_opts << "--rpm-auto-add-exclude-directories /var/lib" fpm_opts << "--rpm-auto-add-exclude-directories /usr/lib/systemd" fpm_opts << "--rpm-auto-add-exclude-directories /usr/lib/systemd/system" fpm_opts << "--rpm-auto-add-exclude-directories /etc/init.d" @@ -255,25 +252,25 @@ if options.output_type == 'rpm' fpm_opts << "--rpm-auto-add-exclude-directories /etc/logrotate.d" fpm_opts << "--rpm-auto-add-exclude-directories /etc/rc.d/init.d" fpm_opts << "--rpm-auto-add-exclude-directories /usr/lib/tmpfiles.d" - fpm_opts << "--rpm-auto-add-exclude-directories /var/log/puppetlabs" - fpm_opts << "--rpm-auto-add-exclude-directories /var/run/puppetlabs" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/face" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/face/node" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/facts" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/node" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/resource" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util" - termini_opts << "--rpm-auto-add-exclude-directories /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/puppetdb" - fpm_opts << "--rpm-attr 750,#{options.user},#{options.group}:/etc/puppetlabs/#{options.realname}" + fpm_opts << "--rpm-auto-add-exclude-directories /var/log/puppetdb" + fpm_opts << "--rpm-auto-add-exclude-directories /var/run/puppetdb" + termini_opts << "--rpm-auto-add-exclude-directories /usr" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/face" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/face/node" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/functions" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/indirector" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/indirector/catalog" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/indirector/facts" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/indirector/node" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/indirector/resource" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/reports" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/util" + termini_opts << "--rpm-auto-add-exclude-directories /usr/lib/ruby/vendor_ruby/puppet/util/puppetdb" + fpm_opts << "--rpm-attr 750,#{options.user},#{options.group}:/etc/#{options.realname}" fpm_opts << "--rpm-attr 750,#{options.user},#{options.group}:#{options.app_logdir}" fpm_opts << "--rpm-attr -,#{options.user},#{options.group}:#{options.app_data}" fpm_opts << "--rpm-attr 755,#{options.user},#{options.group}:#{options.app_rundir}" @@ -402,11 +399,11 @@ termini_opts << "#{options.termini_sources.join(' ')}" # file setting up the mode for the top-level directory # # This sed command will take -# %dir %attr(-, puppet, puppet) /opt/puppetlabs/server/data/app_name +# %dir %attr(-, puppet, puppet) /var/lib/app_name # # and convert it into -# %attr(-, puppet, puppet) /opt/puppetlabs/server/data/app_name -# %dir %attr (770, puppet, puppet) /opt/puppetlabs/server/data/app_name +# %attr(-, puppet, puppet) /var/lib/app_name +# %dir %attr (770, puppet, puppet) /var/lib/app_name # # We should either open a issue/PR/etc to make this allowable in fpm, or we # should refactor how we're building this package to explicitly set the root/root diff --git a/puppetdb/ext/puppetdb.logrotate-legacy.conf b/puppetdb/ext/puppetdb.logrotate-legacy.conf index 0afdbebd..78c219e9 100644 --- a/puppetdb/ext/puppetdb.logrotate-legacy.conf +++ b/puppetdb/ext/puppetdb.logrotate-legacy.conf @@ -1,4 +1,4 @@ -/var/log/puppetlabs/puppetdb/*.log { +/var/log/puppetdb/*.log { weekly missingok rotate 12 diff --git a/puppetdb/ext/puppetdb.logrotate.conf b/puppetdb/ext/puppetdb.logrotate.conf index dd05cbfc..7f932a35 100644 --- a/puppetdb/ext/puppetdb.logrotate.conf +++ b/puppetdb/ext/puppetdb.logrotate.conf @@ -1,4 +1,4 @@ -/var/log/puppetlabs/puppetdb/*.log { +/var/log/puppetdb/*.log { weekly missingok rotate 12 diff --git a/puppetdb/ext/puppetdb.tmpfiles.conf b/puppetdb/ext/puppetdb.tmpfiles.conf index 4f0738c7..63c1fd81 100644 --- a/puppetdb/ext/puppetdb.tmpfiles.conf +++ b/puppetdb/ext/puppetdb.tmpfiles.conf @@ -1 +1 @@ -d /run/puppetlabs/puppetdb 0755 puppetdb puppetdb - +d /run/puppetdb 0755 _puppetdb _puppetdb - diff --git a/puppetdb/ext/redhat/puppetdb.service b/puppetdb/ext/redhat/puppetdb.service index 90bdcb27..ae26c804 100644 --- a/puppetdb/ext/redhat/puppetdb.service +++ b/puppetdb/ext/redhat/puppetdb.service @@ -10,17 +10,17 @@ # [Unit] Description=puppetdb Service -After=syslog.target network.target nss-lookup.target +After=syslog.target network.target network-online.target [Service] Type=forking EnvironmentFile=/etc/sysconfig/puppetdb -User=puppetdb +User=_puppetdb TimeoutStartSec=14400 TimeoutStopSec=60 Restart=on-failure StartLimitBurst=5 -PIDFile=/run/puppetlabs/puppetdb/puppetdb.pid +PIDFile=/run/puppetdb/puppetdb.pid # https://tickets.puppetlabs.com/browse/EZ-129 # Prior to systemd v228, TasksMax was unset by default, and unlimited. Starting in 228 a default of '512' @@ -34,9 +34,9 @@ TasksMax=4915 UMask=027 -ExecReload=/opt/puppetlabs/server/apps/puppetdb/bin/puppetdb reload -ExecStart=/opt/puppetlabs/server/apps/puppetdb/bin/puppetdb start -ExecStop=/opt/puppetlabs/server/apps/puppetdb/bin/puppetdb stop +ExecReload=/usr/bin/puppetdb reload +ExecStart=/usr/bin/puppetdb start +ExecStop=/usr/bin/puppetdb stop KillMode=process