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.

Files changed (182) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +6 -6
  3. data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
  4. data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
  5. data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
  6. data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
  7. data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
  8. data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
  9. data/{ext → examples/enc}/regexp_nodes/regexp_nodes.rb +0 -0
  10. data/{ext → examples}/nagios/check_puppet.rb +2 -2
  11. data/ext/README.md +13 -0
  12. data/lib/puppet/configurer.rb +155 -46
  13. data/lib/puppet/defaults.rb +51 -26
  14. data/lib/puppet/environments.rb +66 -26
  15. data/lib/puppet/file_serving/configuration.rb +2 -0
  16. data/lib/puppet/file_serving/configuration/parser.rb +2 -0
  17. data/lib/puppet/file_serving/mount/scripts.rb +24 -0
  18. data/lib/puppet/functions/find_template.rb +2 -2
  19. data/lib/puppet/http/service/compiler.rb +6 -1
  20. data/lib/puppet/indirector/catalog/compiler.rb +21 -3
  21. data/lib/puppet/indirector/catalog/rest.rb +1 -0
  22. data/lib/puppet/indirector/terminus.rb +4 -0
  23. data/lib/puppet/module/plan.rb +0 -1
  24. data/lib/puppet/module/task.rb +1 -1
  25. data/lib/puppet/module_tool/applications/installer.rb +8 -4
  26. data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
  27. data/lib/puppet/node/environment.rb +10 -11
  28. data/lib/puppet/pops/serialization/to_data_converter.rb +18 -6
  29. data/lib/puppet/provider/package/pkg.rb +8 -1
  30. data/lib/puppet/provider/service/launchd.rb +1 -1
  31. data/lib/puppet/provider/service/systemd.rb +1 -1
  32. data/lib/puppet/provider/user/useradd.rb +42 -9
  33. data/lib/puppet/transaction/persistence.rb +11 -1
  34. data/lib/puppet/transaction/report.rb +15 -1
  35. data/lib/puppet/type.rb +1 -1
  36. data/lib/puppet/type/exec.rb +10 -1
  37. data/lib/puppet/type/file.rb +6 -6
  38. data/lib/puppet/type/filebucket.rb +2 -2
  39. data/lib/puppet/version.rb +1 -1
  40. data/locales/puppet.pot +134 -94
  41. data/man/man5/puppet.conf.5 +65 -25
  42. data/man/man8/puppet-agent.8 +1 -1
  43. data/man/man8/puppet-apply.8 +1 -1
  44. data/man/man8/puppet-catalog.8 +1 -1
  45. data/man/man8/puppet-config.8 +1 -1
  46. data/man/man8/puppet-describe.8 +1 -1
  47. data/man/man8/puppet-device.8 +1 -1
  48. data/man/man8/puppet-doc.8 +1 -1
  49. data/man/man8/puppet-epp.8 +1 -1
  50. data/man/man8/puppet-facts.8 +1 -1
  51. data/man/man8/puppet-filebucket.8 +1 -1
  52. data/man/man8/puppet-generate.8 +1 -1
  53. data/man/man8/puppet-help.8 +1 -1
  54. data/man/man8/puppet-lookup.8 +1 -1
  55. data/man/man8/puppet-module.8 +3 -3
  56. data/man/man8/puppet-node.8 +1 -1
  57. data/man/man8/puppet-parser.8 +1 -1
  58. data/man/man8/puppet-plugin.8 +1 -1
  59. data/man/man8/puppet-report.8 +1 -1
  60. data/man/man8/puppet-resource.8 +1 -1
  61. data/man/man8/puppet-script.8 +1 -1
  62. data/man/man8/puppet-ssl.8 +1 -1
  63. data/man/man8/puppet.8 +2 -2
  64. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +3 -0
  65. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +4 -0
  66. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +3 -0
  67. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +8 -0
  68. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +25 -0
  69. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +19 -0
  70. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +20 -0
  71. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +8 -0
  72. data/spec/integration/application/agent_spec.rb +102 -52
  73. data/spec/integration/application/filebucket_spec.rb +5 -0
  74. data/spec/integration/configurer_spec.rb +17 -1
  75. data/spec/integration/l10n/compiler_spec.rb +37 -0
  76. data/spec/lib/puppet_spec/modules.rb +13 -2
  77. data/spec/lib/puppet_spec/puppetserver.rb +15 -0
  78. data/spec/shared_behaviours/documentation_on_faces.rb +0 -2
  79. data/spec/shared_contexts/l10n.rb +27 -0
  80. data/spec/spec_helper.rb +1 -10
  81. data/spec/unit/configurer_spec.rb +265 -54
  82. data/spec/unit/environments_spec.rb +150 -1
  83. data/spec/unit/file_serving/configuration/parser_spec.rb +23 -0
  84. data/spec/unit/file_serving/configuration_spec.rb +12 -4
  85. data/spec/unit/file_serving/mount/scripts_spec.rb +69 -0
  86. data/spec/unit/functions/logging_spec.rb +1 -0
  87. data/spec/unit/http/service/compiler_spec.rb +8 -0
  88. data/spec/unit/indirector/catalog/compiler_spec.rb +87 -0
  89. data/spec/unit/indirector/catalog/rest_spec.rb +8 -0
  90. data/spec/unit/interface/action_spec.rb +0 -9
  91. data/spec/unit/module_spec.rb +14 -0
  92. data/spec/unit/module_tool/applications/installer_spec.rb +39 -12
  93. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -11
  94. data/spec/unit/pops/serialization/to_from_hr_spec.rb +58 -0
  95. data/spec/unit/provider/package/pkg_spec.rb +19 -5
  96. data/spec/unit/provider/service/launchd_spec.rb +11 -0
  97. data/spec/unit/provider/service/systemd_spec.rb +1 -1
  98. data/spec/unit/provider/user/useradd_spec.rb +3 -2
  99. metadata +34 -94
  100. data/ext/README.environment +0 -8
  101. data/ext/dbfix.sql +0 -132
  102. data/ext/debian/README.Debian +0 -8
  103. data/ext/debian/README.source +0 -2
  104. data/ext/debian/TODO.Debian +0 -1
  105. data/ext/debian/changelog.erb +0 -1122
  106. data/ext/debian/compat +0 -1
  107. data/ext/debian/control +0 -144
  108. data/ext/debian/copyright +0 -339
  109. data/ext/debian/docs +0 -1
  110. data/ext/debian/fileserver.conf +0 -41
  111. data/ext/debian/puppet-common.dirs +0 -13
  112. data/ext/debian/puppet-common.install +0 -3
  113. data/ext/debian/puppet-common.lintian-overrides +0 -5
  114. data/ext/debian/puppet-common.manpages +0 -28
  115. data/ext/debian/puppet-common.postinst +0 -35
  116. data/ext/debian/puppet-common.postrm +0 -33
  117. data/ext/debian/puppet-el.dirs +0 -1
  118. data/ext/debian/puppet-el.emacsen-install +0 -25
  119. data/ext/debian/puppet-el.emacsen-remove +0 -11
  120. data/ext/debian/puppet-el.emacsen-startup +0 -9
  121. data/ext/debian/puppet-el.install +0 -1
  122. data/ext/debian/puppet-testsuite.install +0 -2
  123. data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
  124. data/ext/debian/puppet.lintian-overrides +0 -3
  125. data/ext/debian/puppet.logrotate +0 -20
  126. data/ext/debian/puppet.postinst +0 -20
  127. data/ext/debian/puppet.postrm +0 -20
  128. data/ext/debian/puppet.preinst +0 -20
  129. data/ext/debian/puppetmaster-common.install +0 -2
  130. data/ext/debian/puppetmaster-common.manpages +0 -2
  131. data/ext/debian/puppetmaster-common.postinst +0 -6
  132. data/ext/debian/puppetmaster-passenger.dirs +0 -4
  133. data/ext/debian/puppetmaster-passenger.postinst +0 -162
  134. data/ext/debian/puppetmaster-passenger.postrm +0 -61
  135. data/ext/debian/puppetmaster.README.debian +0 -17
  136. data/ext/debian/puppetmaster.default +0 -14
  137. data/ext/debian/puppetmaster.init +0 -137
  138. data/ext/debian/puppetmaster.lintian-overrides +0 -3
  139. data/ext/debian/puppetmaster.postinst +0 -20
  140. data/ext/debian/puppetmaster.postrm +0 -5
  141. data/ext/debian/puppetmaster.preinst +0 -22
  142. data/ext/debian/rules +0 -132
  143. data/ext/debian/source/format +0 -1
  144. data/ext/debian/source/options +0 -1
  145. data/ext/debian/vim-puppet.README.Debian +0 -13
  146. data/ext/debian/vim-puppet.dirs +0 -5
  147. data/ext/debian/vim-puppet.yaml +0 -7
  148. data/ext/debian/watch +0 -2
  149. data/ext/freebsd/puppetd +0 -26
  150. data/ext/freebsd/puppetmasterd +0 -26
  151. data/ext/gentoo/conf.d/puppet +0 -5
  152. data/ext/gentoo/conf.d/puppetmaster +0 -12
  153. data/ext/gentoo/init.d/puppet +0 -38
  154. data/ext/gentoo/init.d/puppetmaster +0 -51
  155. data/ext/gentoo/puppet/fileserver.conf +0 -41
  156. data/ext/ips/puppet-agent +0 -44
  157. data/ext/ips/puppet-master +0 -44
  158. data/ext/ips/puppet.p5m.erb +0 -12
  159. data/ext/ips/puppetagent.xml +0 -42
  160. data/ext/ips/puppetmaster.xml +0 -42
  161. data/ext/ips/rules +0 -19
  162. data/ext/ips/transforms +0 -34
  163. data/ext/ldap/puppet.schema +0 -24
  164. data/ext/logcheck/puppet +0 -23
  165. data/ext/osx/file_mapping.yaml +0 -28
  166. data/ext/osx/postflight.erb +0 -109
  167. data/ext/osx/preflight.erb +0 -52
  168. data/ext/osx/prototype.plist.erb +0 -38
  169. data/ext/redhat/fileserver.conf +0 -41
  170. data/ext/redhat/logrotate +0 -21
  171. data/ext/redhat/puppet.spec.erb +0 -841
  172. data/ext/redhat/server.init +0 -128
  173. data/ext/redhat/server.sysconfig +0 -13
  174. data/ext/solaris/pkginfo +0 -6
  175. data/ext/solaris/smf/puppetd.xml +0 -77
  176. data/ext/solaris/smf/puppetmasterd.xml +0 -77
  177. data/ext/solaris/smf/svc-puppetd +0 -71
  178. data/ext/solaris/smf/svc-puppetmasterd +0 -67
  179. data/ext/suse/puppet.spec +0 -310
  180. data/ext/suse/server.init +0 -173
  181. data/ext/yaml_nodes.rb +0 -105
  182. data/spec/unit/indirector/store_configs_spec.rb +0 -7
data/ext/debian/docs DELETED
@@ -1 +0,0 @@
1
- README.md
@@ -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,3 +0,0 @@
1
- debian/puppet.conf etc/puppet
2
- debian/tmp/usr/bin/puppet usr/bin
3
- debian/tmp/usr/lib/ruby/vendor_ruby/* usr/lib/ruby/vendor_ruby
@@ -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
@@ -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,11 +0,0 @@
1
- #!/bin/sh
2
- set -e
3
-
4
- FLAVOR=$1
5
- PACKAGE=puppet-el
6
- ELCFILE=puppet-mode.elc
7
-
8
- if [ ${FLAVOR} != emacs ]; then
9
- echo remove/${PACKAGE}: Purging byte-compiled files for ${FLAVOR}
10
- rm -f /usr/share/${FLAVOR}/site-lisp/${ELCFILE}
11
- fi
@@ -1,9 +0,0 @@
1
- ;; -*-emacs-lisp-*-
2
- ;;
3
- ;; Emacs startup file for the Debian GNU/Linux puppet-el package
4
-
5
- (autoload 'puppet-mode "puppet-mode" "Major mode for editing puppet manifests")
6
-
7
- (add-to-list 'auto-mode-alist '("\\.pp$" . puppet-mode))
8
-
9
-
@@ -1 +0,0 @@
1
- ext/emacs/puppet-mode.el usr/share/emacs/site-lisp
@@ -1,2 +0,0 @@
1
- spec/* /usr/share/puppet-testsuite/spec
2
- Rakefile /usr/share/puppet-testsuite/
@@ -1,4 +0,0 @@
1
- # Upstream distributes it like this
2
- puppet-testsuite binary: executable-not-elf-or-script
3
- puppet-testsuite binary: script-not-executable
4
- puppet-testsuite binary: unusual-interpreter
@@ -1,3 +0,0 @@
1
- # Man pages are automatically generated, not much to do here
2
- puppet binary: manpage-has-bad-whatis-entry
3
- puppet binary: manpage-has-errors-from-man
@@ -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
- }
@@ -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,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,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,2 +0,0 @@
1
- debian/fileserver.conf etc/puppet
2
- conf/auth.conf etc/puppet
@@ -1,2 +0,0 @@
1
- man/man8/puppet-ca.8
2
- man/man8/puppet-master.8
@@ -1,6 +0,0 @@
1
- #!/bin/sh
2
-
3
- set -e
4
-
5
- rm -f /etc/init.d/puppetqd
6
- rm -f /etc/default/puppetqd
@@ -1,4 +0,0 @@
1
- usr/share/puppet/rack/puppetmasterd
2
- usr/share/puppet/rack/puppetmasterd/public
3
- usr/share/puppet/rack/puppetmasterd/tmp
4
- usr/share/puppetmaster-passenger/
@@ -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#