puppet 7.9.0 → 7.10.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile.lock +6 -6
- data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
- data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
- data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{ext → examples/enc}/regexp_nodes/regexp_nodes.rb +0 -0
- data/{ext → examples}/nagios/check_puppet.rb +2 -2
- data/ext/README.md +13 -0
- data/lib/puppet/configurer.rb +155 -46
- data/lib/puppet/defaults.rb +51 -26
- data/lib/puppet/environments.rb +66 -26
- data/lib/puppet/file_serving/configuration.rb +2 -0
- data/lib/puppet/file_serving/configuration/parser.rb +2 -0
- data/lib/puppet/file_serving/mount/scripts.rb +24 -0
- data/lib/puppet/functions/find_template.rb +2 -2
- data/lib/puppet/http/service/compiler.rb +6 -1
- data/lib/puppet/indirector/catalog/compiler.rb +21 -3
- data/lib/puppet/indirector/catalog/rest.rb +1 -0
- data/lib/puppet/indirector/terminus.rb +4 -0
- data/lib/puppet/module/plan.rb +0 -1
- data/lib/puppet/module/task.rb +1 -1
- data/lib/puppet/module_tool/applications/installer.rb +8 -4
- data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
- data/lib/puppet/node/environment.rb +10 -11
- data/lib/puppet/pops/serialization/to_data_converter.rb +18 -6
- data/lib/puppet/provider/package/pkg.rb +8 -1
- data/lib/puppet/provider/service/launchd.rb +1 -1
- data/lib/puppet/provider/service/systemd.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +42 -9
- data/lib/puppet/transaction/persistence.rb +11 -1
- data/lib/puppet/transaction/report.rb +15 -1
- data/lib/puppet/type.rb +1 -1
- data/lib/puppet/type/exec.rb +10 -1
- data/lib/puppet/type/file.rb +6 -6
- data/lib/puppet/type/filebucket.rb +2 -2
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +134 -94
- data/man/man5/puppet.conf.5 +65 -25
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +3 -3
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +4 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +8 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +25 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +19 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +20 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +8 -0
- data/spec/integration/application/agent_spec.rb +102 -52
- data/spec/integration/application/filebucket_spec.rb +5 -0
- data/spec/integration/configurer_spec.rb +17 -1
- data/spec/integration/l10n/compiler_spec.rb +37 -0
- data/spec/lib/puppet_spec/modules.rb +13 -2
- data/spec/lib/puppet_spec/puppetserver.rb +15 -0
- data/spec/shared_behaviours/documentation_on_faces.rb +0 -2
- data/spec/shared_contexts/l10n.rb +27 -0
- data/spec/spec_helper.rb +1 -10
- data/spec/unit/configurer_spec.rb +265 -54
- data/spec/unit/environments_spec.rb +150 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +23 -0
- data/spec/unit/file_serving/configuration_spec.rb +12 -4
- data/spec/unit/file_serving/mount/scripts_spec.rb +69 -0
- data/spec/unit/functions/logging_spec.rb +1 -0
- data/spec/unit/http/service/compiler_spec.rb +8 -0
- data/spec/unit/indirector/catalog/compiler_spec.rb +87 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +8 -0
- data/spec/unit/interface/action_spec.rb +0 -9
- data/spec/unit/module_spec.rb +14 -0
- data/spec/unit/module_tool/applications/installer_spec.rb +39 -12
- data/spec/unit/pops/parser/parse_containers_spec.rb +0 -11
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +58 -0
- data/spec/unit/provider/package/pkg_spec.rb +19 -5
- data/spec/unit/provider/service/launchd_spec.rb +11 -0
- data/spec/unit/provider/service/systemd_spec.rb +1 -1
- data/spec/unit/provider/user/useradd_spec.rb +3 -2
- metadata +34 -94
- data/ext/README.environment +0 -8
- data/ext/dbfix.sql +0 -132
- data/ext/debian/README.Debian +0 -8
- data/ext/debian/README.source +0 -2
- data/ext/debian/TODO.Debian +0 -1
- data/ext/debian/changelog.erb +0 -1122
- data/ext/debian/compat +0 -1
- data/ext/debian/control +0 -144
- data/ext/debian/copyright +0 -339
- data/ext/debian/docs +0 -1
- data/ext/debian/fileserver.conf +0 -41
- data/ext/debian/puppet-common.dirs +0 -13
- data/ext/debian/puppet-common.install +0 -3
- data/ext/debian/puppet-common.lintian-overrides +0 -5
- data/ext/debian/puppet-common.manpages +0 -28
- data/ext/debian/puppet-common.postinst +0 -35
- data/ext/debian/puppet-common.postrm +0 -33
- data/ext/debian/puppet-el.dirs +0 -1
- data/ext/debian/puppet-el.emacsen-install +0 -25
- data/ext/debian/puppet-el.emacsen-remove +0 -11
- data/ext/debian/puppet-el.emacsen-startup +0 -9
- data/ext/debian/puppet-el.install +0 -1
- data/ext/debian/puppet-testsuite.install +0 -2
- data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
- data/ext/debian/puppet.lintian-overrides +0 -3
- data/ext/debian/puppet.logrotate +0 -20
- data/ext/debian/puppet.postinst +0 -20
- data/ext/debian/puppet.postrm +0 -20
- data/ext/debian/puppet.preinst +0 -20
- data/ext/debian/puppetmaster-common.install +0 -2
- data/ext/debian/puppetmaster-common.manpages +0 -2
- data/ext/debian/puppetmaster-common.postinst +0 -6
- data/ext/debian/puppetmaster-passenger.dirs +0 -4
- data/ext/debian/puppetmaster-passenger.postinst +0 -162
- data/ext/debian/puppetmaster-passenger.postrm +0 -61
- data/ext/debian/puppetmaster.README.debian +0 -17
- data/ext/debian/puppetmaster.default +0 -14
- data/ext/debian/puppetmaster.init +0 -137
- data/ext/debian/puppetmaster.lintian-overrides +0 -3
- data/ext/debian/puppetmaster.postinst +0 -20
- data/ext/debian/puppetmaster.postrm +0 -5
- data/ext/debian/puppetmaster.preinst +0 -22
- data/ext/debian/rules +0 -132
- data/ext/debian/source/format +0 -1
- data/ext/debian/source/options +0 -1
- data/ext/debian/vim-puppet.README.Debian +0 -13
- data/ext/debian/vim-puppet.dirs +0 -5
- data/ext/debian/vim-puppet.yaml +0 -7
- data/ext/debian/watch +0 -2
- data/ext/freebsd/puppetd +0 -26
- data/ext/freebsd/puppetmasterd +0 -26
- data/ext/gentoo/conf.d/puppet +0 -5
- data/ext/gentoo/conf.d/puppetmaster +0 -12
- data/ext/gentoo/init.d/puppet +0 -38
- data/ext/gentoo/init.d/puppetmaster +0 -51
- data/ext/gentoo/puppet/fileserver.conf +0 -41
- data/ext/ips/puppet-agent +0 -44
- data/ext/ips/puppet-master +0 -44
- data/ext/ips/puppet.p5m.erb +0 -12
- data/ext/ips/puppetagent.xml +0 -42
- data/ext/ips/puppetmaster.xml +0 -42
- data/ext/ips/rules +0 -19
- data/ext/ips/transforms +0 -34
- data/ext/ldap/puppet.schema +0 -24
- data/ext/logcheck/puppet +0 -23
- data/ext/osx/file_mapping.yaml +0 -28
- data/ext/osx/postflight.erb +0 -109
- data/ext/osx/preflight.erb +0 -52
- data/ext/osx/prototype.plist.erb +0 -38
- data/ext/redhat/fileserver.conf +0 -41
- data/ext/redhat/logrotate +0 -21
- data/ext/redhat/puppet.spec.erb +0 -841
- data/ext/redhat/server.init +0 -128
- data/ext/redhat/server.sysconfig +0 -13
- data/ext/solaris/pkginfo +0 -6
- data/ext/solaris/smf/puppetd.xml +0 -77
- data/ext/solaris/smf/puppetmasterd.xml +0 -77
- data/ext/solaris/smf/svc-puppetd +0 -71
- data/ext/solaris/smf/svc-puppetmasterd +0 -67
- data/ext/suse/puppet.spec +0 -310
- data/ext/suse/server.init +0 -173
- data/ext/yaml_nodes.rb +0 -105
- data/spec/unit/indirector/store_configs_spec.rb +0 -7
data/ext/debian/docs
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
README.md
|
data/ext/debian/fileserver.conf
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
# fileserver.conf
|
2
|
-
|
3
|
-
# Puppet automatically serves PLUGINS and FILES FROM MODULES: anything in
|
4
|
-
# <module name>/files/<file name> is available to authenticated nodes at
|
5
|
-
# puppet:///modules/<module name>/<file name>. You do not need to edit this
|
6
|
-
# file to enable this.
|
7
|
-
|
8
|
-
# MOUNT POINTS
|
9
|
-
|
10
|
-
# If you need to serve files from a directory that is NOT in a module,
|
11
|
-
# you must create a static mount point in this file:
|
12
|
-
#
|
13
|
-
# [extra_files]
|
14
|
-
# path /etc/puppet/files
|
15
|
-
# allow *
|
16
|
-
#
|
17
|
-
# In the example above, anything in /etc/puppet/files/<file name> would be
|
18
|
-
# available to authenticated nodes at puppet:///extra_files/<file name>.
|
19
|
-
#
|
20
|
-
# Mount points may also use three placeholders as part of their path:
|
21
|
-
#
|
22
|
-
# %H - The node's certname.
|
23
|
-
# %h - The portion of the node's certname before the first dot. (Usually the
|
24
|
-
# node's short hostname.)
|
25
|
-
# %d - The portion of the node's certname after the first dot. (Usually the
|
26
|
-
# node's domain name.)
|
27
|
-
|
28
|
-
# PERMISSIONS
|
29
|
-
|
30
|
-
# Every static mount point should have an `allow *` line; setting more
|
31
|
-
# granular permissions in this file is deprecated. Instead, you can
|
32
|
-
# control file access in auth.conf by controlling the
|
33
|
-
# /file_metadata/<mount point> and /file_content/<mount point> paths:
|
34
|
-
#
|
35
|
-
# path ~ ^/file_(metadata|content)/extra_files/
|
36
|
-
# auth yes
|
37
|
-
# allow /^(.+)\.example\.com$/
|
38
|
-
# allow_ip 192.168.100.0/24
|
39
|
-
#
|
40
|
-
# If added to auth.conf BEFORE the "path /file" rule, the rule above
|
41
|
-
# will add stricter restrictions to the extra_files mount point.
|
@@ -1,13 +0,0 @@
|
|
1
|
-
etc/puppet
|
2
|
-
etc/puppet/environments
|
3
|
-
etc/puppet/environments/example_env
|
4
|
-
etc/puppet/environments/example_env/modules
|
5
|
-
etc/puppet/environments/example_env/manifests
|
6
|
-
etc/puppet/manifests
|
7
|
-
etc/puppet/templates
|
8
|
-
etc/puppet/modules
|
9
|
-
usr/lib/ruby/vendor_ruby
|
10
|
-
usr/share/puppet/ext
|
11
|
-
var/lib/puppet
|
12
|
-
var/log/puppet
|
13
|
-
var/run/puppet
|
@@ -1,5 +0,0 @@
|
|
1
|
-
# Man pages are automatically generated, not much to do here
|
2
|
-
puppet-common binary: manpage-has-bad-whatis-entry
|
3
|
-
puppet-common binary: manpage-has-errors-from-man
|
4
|
-
# These are "scripts" but do nothing other than providing documentation
|
5
|
-
puppet-common: script-not-executable
|
@@ -1,28 +0,0 @@
|
|
1
|
-
man/man5/puppet.conf.5
|
2
|
-
man/man8/puppet.8
|
3
|
-
man/man8/puppet-agent.8
|
4
|
-
man/man8/puppet-apply.8
|
5
|
-
man/man8/puppet-catalog.8
|
6
|
-
man/man8/puppet-cert.8
|
7
|
-
man/man8/puppet-certificate.8
|
8
|
-
man/man8/puppet-certificate_request.8
|
9
|
-
man/man8/puppet-certificate_revocation_list.8
|
10
|
-
man/man8/puppet-config.8
|
11
|
-
man/man8/puppet-describe.8
|
12
|
-
man/man8/puppet-device.8
|
13
|
-
man/man8/puppet-doc.8
|
14
|
-
man/man8/puppet-facts.8
|
15
|
-
man/man8/puppet-file.8
|
16
|
-
man/man8/puppet-filebucket.8
|
17
|
-
man/man8/puppet-help.8
|
18
|
-
man/man8/puppet-inspect.8
|
19
|
-
man/man8/puppet-key.8
|
20
|
-
man/man8/puppet-kick.8
|
21
|
-
man/man8/puppet-man.8
|
22
|
-
man/man8/puppet-module.8
|
23
|
-
man/man8/puppet-node.8
|
24
|
-
man/man8/puppet-parser.8
|
25
|
-
man/man8/puppet-plugin.8
|
26
|
-
man/man8/puppet-report.8
|
27
|
-
man/man8/puppet-resource.8
|
28
|
-
man/man8/puppet-status.8
|
@@ -1,35 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
set -e
|
4
|
-
|
5
|
-
if [ "$1" = "configure" ]; then
|
6
|
-
|
7
|
-
# Create the "puppet" user
|
8
|
-
if ! getent passwd puppet > /dev/null; then
|
9
|
-
useradd --system --user-group --home-dir /var/lib/puppet \
|
10
|
-
--no-create-home --shell /bin/false \
|
11
|
-
--comment "Puppet configuration management daemon" \
|
12
|
-
puppet
|
13
|
-
fi
|
14
|
-
|
15
|
-
# Set correct permissions and ownership for puppet directories
|
16
|
-
for dir in /var/{run,lib,log}/puppet; do
|
17
|
-
if ! dpkg-statoverride --list "$dir" >/dev/null 2>&1; then
|
18
|
-
dpkg-statoverride --update --add puppet puppet 0750 "$dir"
|
19
|
-
fi
|
20
|
-
done
|
21
|
-
|
22
|
-
# Create folders common to "puppet" and "puppetmaster", which need
|
23
|
-
# to be owned by the "puppet" user
|
24
|
-
install --owner puppet --group puppet --directory \
|
25
|
-
/var/lib/puppet/state
|
26
|
-
install --owner puppet --group puppet --directory \
|
27
|
-
/var/lib/puppet/reports
|
28
|
-
|
29
|
-
# Handle
|
30
|
-
if [ -d /etc/puppet/ssl ] && [ ! -e /var/lib/puppet/ssl ] && grep -q 'ssldir=/var/lib/puppet/ssl' /etc/puppet/puppet.conf; then
|
31
|
-
mv /etc/puppet/ssl /var/lib/puppet/ssl
|
32
|
-
fi
|
33
|
-
fi
|
34
|
-
|
35
|
-
#DEBHELPER#
|
@@ -1,33 +0,0 @@
|
|
1
|
-
#!/bin/sh -e
|
2
|
-
|
3
|
-
case "$1" in
|
4
|
-
purge)
|
5
|
-
# Remove puppetd.conf (used in > 0.24)
|
6
|
-
rm -f /etc/puppet/puppetd.conf
|
7
|
-
|
8
|
-
# Remove puppet state directory created by the postinst script.
|
9
|
-
# This directory can be removed without causing harm
|
10
|
-
# according to upstream documentation.
|
11
|
-
rm -rf /var/lib/puppet/state
|
12
|
-
rm -rf /var/lib/puppet/reports
|
13
|
-
if [ -d /var/lib/puppet ]; then
|
14
|
-
rmdir --ignore-fail-on-non-empty /var/lib/puppet
|
15
|
-
fi
|
16
|
-
|
17
|
-
# Remove puppet log files
|
18
|
-
rm -rf /var/log/puppet/
|
19
|
-
;;
|
20
|
-
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
21
|
-
|
22
|
-
|
23
|
-
;;
|
24
|
-
|
25
|
-
*)
|
26
|
-
echo "postrm called with unknown argument \`$1'" >&2
|
27
|
-
exit 1
|
28
|
-
|
29
|
-
esac
|
30
|
-
|
31
|
-
#DEBHELPER#
|
32
|
-
|
33
|
-
exit 0
|
data/ext/debian/puppet-el.dirs
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
usr/share/emacs/site-lisp
|
@@ -1,25 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
#
|
3
|
-
# emacsen install script for the Debian GNU/Linux puppet-el package
|
4
|
-
|
5
|
-
FLAVOR=$1
|
6
|
-
PACKAGE=puppet-el
|
7
|
-
|
8
|
-
ELDIR=/usr/share/emacs/site-lisp/
|
9
|
-
ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
|
10
|
-
ELFILE="puppet-mode.el"
|
11
|
-
FLAGS="-batch -no-site-file -l path.el -f batch-byte-compile"
|
12
|
-
|
13
|
-
if [ ${FLAVOR} != emacs ]; then
|
14
|
-
echo install/${PACKAGE}: Byte-compiling for ${FLAVOR}
|
15
|
-
|
16
|
-
install -m 755 -d ${ELCDIR}
|
17
|
-
cd ${ELDIR}
|
18
|
-
cp ${ELFILE} ${ELCDIR}
|
19
|
-
cd ${ELCDIR}
|
20
|
-
cat << EOF > path.el
|
21
|
-
(setq load-path (cons "." load-path) byte-compile-warnings nil)
|
22
|
-
EOF
|
23
|
-
${FLAVOR} ${FLAGS} ${ELFILE}
|
24
|
-
rm -f ${ELFILE} path.el
|
25
|
-
fi
|
@@ -1 +0,0 @@
|
|
1
|
-
ext/emacs/puppet-mode.el usr/share/emacs/site-lisp
|
data/ext/debian/puppet.logrotate
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
/var/log/puppetlabs/masterhttp.log /var/log/puppet/masterhttp.log {
|
2
|
-
compress
|
3
|
-
rotate 4
|
4
|
-
missingok
|
5
|
-
notifempty
|
6
|
-
nocreate
|
7
|
-
}
|
8
|
-
|
9
|
-
/var/log/puppetlabs/puppetd.log /var/log/puppet/puppetd.log {
|
10
|
-
compress
|
11
|
-
rotate 4
|
12
|
-
missingok
|
13
|
-
notifempty
|
14
|
-
nocreate
|
15
|
-
sharedscripts
|
16
|
-
postrotate
|
17
|
-
([ -x /etc/init.d/puppet ] && /etc/init.d/puppet reload > /dev/null 2>&1) ||
|
18
|
-
([ -x /usr/bin/systemctl ] && /usr/bin/systemctl kill -s USR2 puppet.service > /dev/null 2>&1) || true
|
19
|
-
endscript
|
20
|
-
}
|
data/ext/debian/puppet.postinst
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
set -e
|
4
|
-
|
5
|
-
# Remove renamed configuration files which are now handled by other
|
6
|
-
# packages
|
7
|
-
if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
|
8
|
-
|
9
|
-
dpkg-maintscript-helper rm_conffile \
|
10
|
-
/etc/logrotate.d/puppet 2.6.4-2 puppet -- "$@"
|
11
|
-
|
12
|
-
dpkg-maintscript-helper rm_conffile \
|
13
|
-
/etc/logcheck/ignore.d.server/puppet 2.6.4-2 puppet -- "$@"
|
14
|
-
|
15
|
-
dpkg-maintscript-helper rm_conffile \
|
16
|
-
/etc/emacs/site-start.d/50puppet-mode-init.el 2.6.4-2 puppet -- "$@"
|
17
|
-
|
18
|
-
fi
|
19
|
-
|
20
|
-
#DEBHELPER#
|
data/ext/debian/puppet.postrm
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
set -e
|
4
|
-
|
5
|
-
# Remove renamed configuration files which are now handled by other
|
6
|
-
# packages
|
7
|
-
if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
|
8
|
-
|
9
|
-
dpkg-maintscript-helper rm_conffile \
|
10
|
-
/etc/logrotate.d/puppet 2.6.4-2 puppet -- "$@"
|
11
|
-
|
12
|
-
dpkg-maintscript-helper rm_conffile \
|
13
|
-
/etc/logcheck/ignore.d.server/puppet 2.6.4-2 puppet -- "$@"
|
14
|
-
|
15
|
-
dpkg-maintscript-helper rm_conffile \
|
16
|
-
/etc/emacs/site-start.d/50puppet-mode-init.el 2.6.4-2 puppet -- "$@"
|
17
|
-
|
18
|
-
fi
|
19
|
-
|
20
|
-
#DEBHELPER#
|
data/ext/debian/puppet.preinst
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
set -e
|
4
|
-
|
5
|
-
# Remove renamed configuration files which are now handled by other
|
6
|
-
# packages
|
7
|
-
if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
|
8
|
-
|
9
|
-
dpkg-maintscript-helper rm_conffile \
|
10
|
-
/etc/logrotate.d/puppet 2.6.4-2 puppet -- "$@"
|
11
|
-
|
12
|
-
dpkg-maintscript-helper rm_conffile \
|
13
|
-
/etc/logcheck/ignore.d.server/puppet 2.6.4-2 puppet -- "$@"
|
14
|
-
|
15
|
-
dpkg-maintscript-helper rm_conffile \
|
16
|
-
/etc/emacs/site-start.d/50puppet-mode-init.el 2.6.4-2 puppet -- "$@"
|
17
|
-
|
18
|
-
fi
|
19
|
-
|
20
|
-
#DEBHELPER#
|
@@ -1,162 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
set -e
|
4
|
-
|
5
|
-
sitename="puppetmaster"
|
6
|
-
apache2_version="$(dpkg-query --showformat='${Version}\n' --show apache2)"
|
7
|
-
|
8
|
-
# The debian provided a2* utils in Apache 2.4 uses "site name" as
|
9
|
-
# argument, while the version in Apache 2.2 uses "file name".
|
10
|
-
#
|
11
|
-
# For added fun, the Apache 2.4 version requires files to have a
|
12
|
-
# ".conf" suffix, but this must be stripped when using it as argument
|
13
|
-
# for the a2* utilities.
|
14
|
-
#
|
15
|
-
# This will end in tears…
|
16
|
-
# Can be removed when we only support apache >= 2.4
|
17
|
-
apache2_puppetmaster_sitename() {
|
18
|
-
if dpkg --compare-versions "$apache2_version" gt "2.4~"; then
|
19
|
-
echo "${sitename}.conf"
|
20
|
-
else
|
21
|
-
echo "${sitename}"
|
22
|
-
fi
|
23
|
-
}
|
24
|
-
|
25
|
-
# Can be removed when we only support apache >= 2.4
|
26
|
-
restart_apache2() {
|
27
|
-
if [ -x "/etc/init.d/apache2" ]; then
|
28
|
-
# Seems that a restart is needed. reload breaks ssl apparently.
|
29
|
-
if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
|
30
|
-
invoke-rc.d apache2 restart || exit $?
|
31
|
-
else
|
32
|
-
/etc/init.d/apache2 restart || exit $?
|
33
|
-
fi
|
34
|
-
fi
|
35
|
-
}
|
36
|
-
|
37
|
-
# We may need to update the passenger directives in the apache vhost because
|
38
|
-
# RailsAutoDetect and RackAutoDetect were removed in passenger 4.0.0
|
39
|
-
# see http://www.modrails.com/documentation/Users%20guide%20Apache.html#_railsautodetect_rackautodetect_and_wsgiautodetect
|
40
|
-
update_vhost_for_passenger4() {
|
41
|
-
# Get passenger version from dpkg.
|
42
|
-
# This will end in tears…
|
43
|
-
passenger_version="$(dpkg-query --showformat='${Version}\n' --show libapache2-mod-passenger)"
|
44
|
-
if dpkg --compare-versions "$passenger_version" gt "4.0~"; then
|
45
|
-
sed -r -i \
|
46
|
-
-e "/RailsAutoDetect/d" \
|
47
|
-
-e "/RackAutoDetect/d" \
|
48
|
-
$tempfile
|
49
|
-
fi
|
50
|
-
}
|
51
|
-
|
52
|
-
# In Apache 2.2, if either the SSLCARevocationFile or SSLCARevocationPath
|
53
|
-
# directives were specified then the specified file(s) would be checked when
|
54
|
-
# establishing an SSL connection. Apache 2.4+ the SSLCARevocationCheck directive
|
55
|
-
# was added to control how CRLs were checked when verifying a connection and had
|
56
|
-
# a default value of none. This means that Apache defaults to ignoring CRLs even
|
57
|
-
# if paths are specified to CRL files.
|
58
|
-
#
|
59
|
-
# This function automatically uncomments the SSLCARevocationCheck directive when
|
60
|
-
# the currently installed version of Apache is 2.4.
|
61
|
-
update_vhost_for_apache24() {
|
62
|
-
if dpkg --compare-versions "$apache2_version" gt "2.4~"; then
|
63
|
-
sed -r -i \
|
64
|
-
-e "/# SSLCARevocationCheck/s/# //" \
|
65
|
-
$tempfile
|
66
|
-
fi
|
67
|
-
}
|
68
|
-
|
69
|
-
# Update an existing vhost definition with the SSLCARevocationCheck directive
|
70
|
-
# on Apache 2.4+. This scans an existing vhost file for the SSLCARevocationCheck
|
71
|
-
# directive and adds it to the file after the SSLCARevocationFile directive.
|
72
|
-
#
|
73
|
-
# See https://tickets.puppetlabs.com/browse/PUP-2533 for more information.
|
74
|
-
update_vhost_for_apache24_upgrade() {
|
75
|
-
APACHE2_SITE_FILE="/etc/apache2/sites-available/$(apache2_puppetmaster_sitename)"
|
76
|
-
|
77
|
-
if dpkg --compare-versions "$apache2_version" gt "2.4~"; then
|
78
|
-
if ! grep -q "^[[:space:]]*SSLCARevocationCheck" $APACHE2_SITE_FILE ; then
|
79
|
-
tempfile=$(mktemp)
|
80
|
-
sed -r \
|
81
|
-
-e "/SSLCARevocationFile/a\\ SSLCARevocationCheck chain" \
|
82
|
-
$APACHE2_SITE_FILE > $tempfile
|
83
|
-
mv $tempfile $APACHE2_SITE_FILE
|
84
|
-
fi
|
85
|
-
fi
|
86
|
-
}
|
87
|
-
|
88
|
-
|
89
|
-
create_initial_puppetmaster_vhost() {
|
90
|
-
# Check that puppet master --configprint works properly
|
91
|
-
# If it doesn't the following steps to update the vhost will produce a very unhelpful and broken vhost
|
92
|
-
if [ $(puppet master --configprint all 2>&1 | grep "Could not parse" | wc -l) != "0" ]; then
|
93
|
-
echo "Puppet config print not working properly, exiting"
|
94
|
-
exit 1
|
95
|
-
fi
|
96
|
-
|
97
|
-
# Initialize puppetmaster CA and generate the master certificate
|
98
|
-
# only if the host doesn't already have any puppet ssl certificate.
|
99
|
-
# The ssl key and cert need to be available (eg generated) before
|
100
|
-
# apache2 is configured and started since apache2 ssl configuration
|
101
|
-
# uses the puppetmaster ssl files.
|
102
|
-
if [ ! -e "$(puppet master --configprint hostcert)" ]; then
|
103
|
-
puppet cert generate $(puppet master --configprint certname)
|
104
|
-
fi
|
105
|
-
|
106
|
-
# Setup apache2 configuration files
|
107
|
-
APACHE2_SITE_FILE="/etc/apache2/sites-available/$(apache2_puppetmaster_sitename)"
|
108
|
-
if [ ! -e "${APACHE2_SITE_FILE}" ]; then
|
109
|
-
tempfile=$(mktemp)
|
110
|
-
sed -r \
|
111
|
-
-e "s|(SSLCertificateFile\s+).+$|\1$(puppet master --configprint hostcert)|" \
|
112
|
-
-e "s|(SSLCertificateKeyFile\s+).+$|\1$(puppet master --configprint hostprivkey)|" \
|
113
|
-
-e "s|(SSLCACertificateFile\s+).+$|\1$(puppet master --configprint localcacert)|" \
|
114
|
-
-e "s|(SSLCertificateChainFile\s+).+$|\1$(puppet master --configprint localcacert)|" \
|
115
|
-
-e "s|(SSLCARevocationFile\s+).+$|\1$(puppet master --configprint cacrl)|" \
|
116
|
-
-e "s|DocumentRoot /etc/puppet/rack/public|DocumentRoot /usr/share/puppet/rack/puppetmasterd/public|" \
|
117
|
-
-e "s|<Directory /etc/puppet/rack/>|<Directory /usr/share/puppet/rack/puppetmasterd/>|" \
|
118
|
-
/usr/share/puppetmaster-passenger/apache2.site.conf.tmpl > $tempfile
|
119
|
-
update_vhost_for_passenger4
|
120
|
-
update_vhost_for_apache24
|
121
|
-
mv $tempfile "${APACHE2_SITE_FILE}"
|
122
|
-
fi
|
123
|
-
|
124
|
-
# Enable needed modules
|
125
|
-
a2enmod ssl
|
126
|
-
a2enmod headers
|
127
|
-
a2ensite ${sitename}
|
128
|
-
restart_apache2
|
129
|
-
}
|
130
|
-
|
131
|
-
update_existing_puppetmaster_vhost() {
|
132
|
-
if dpkg --compare-versions "${1}" lt "3.6.2~"; then
|
133
|
-
update_vhost_for_apache24_upgrade
|
134
|
-
fi
|
135
|
-
}
|
136
|
-
|
137
|
-
if [ "$1" = "configure" ]; then
|
138
|
-
|
139
|
-
# Change the owner of the rack config.ru to be the puppet user
|
140
|
-
# because passenger will suid to that user, see #577366
|
141
|
-
if ! dpkg-statoverride --list /usr/share/puppet/rack/puppetmasterd/config.ru >/dev/null 2>&1
|
142
|
-
then
|
143
|
-
dpkg-statoverride --update --add puppet puppet 0644 /usr/share/puppet/rack/puppetmasterd/config.ru
|
144
|
-
fi
|
145
|
-
|
146
|
-
# Setup puppetmaster passenger vhost
|
147
|
-
if [ "$2" = "" ]; then
|
148
|
-
create_initial_puppetmaster_vhost
|
149
|
-
else
|
150
|
-
update_existing_puppetmaster_vhost $2
|
151
|
-
fi
|
152
|
-
|
153
|
-
# Fix CRL file on upgrade to use the CA crl file instead of the host crl.
|
154
|
-
if dpkg --compare-versions "$2" lt-nl "2.6.1-1"; then
|
155
|
-
if [ -e /etc/apache2/sites-available/puppetmaster ]; then
|
156
|
-
sed -r -i 's|SSLCARevocationFile[[:space:]]+/var/lib/puppet/ssl/crl.pem$|SSLCARevocationFile /var/lib/puppet/ssl/ca/ca_crl.pem|' /etc/apache2/sites-available/puppetmaster
|
157
|
-
restart_apache2
|
158
|
-
fi
|
159
|
-
fi
|
160
|
-
fi
|
161
|
-
|
162
|
-
#DEBHELPER#
|