| OLD | NEW |
| 1 # == Class: adblockplus::puppet | 1 # == Class: adblockplus::puppet |
| 2 # | 2 # |
| 3 # Manage Puppet (https://github.com/puppetlabs/puppet) agent configuration. | 3 # Manage Puppet (https://github.com/puppetlabs/puppet) resources. |
| 4 # | 4 # |
| 5 # === Parameters: | 5 # === Parameters: |
| 6 # | 6 # |
| 7 # [*package*] | 7 # [*ensure*] |
| 8 # Custom parameters for the implicit Package['puppet'] resource. | 8 # General target policy for Puppet resources, supported values include |
| 9 # | 9 # "present", "latest", "absent" and "purged". |
| 10 # [*service*] | |
| 11 # Custom parameters for the Service['puppet'] resource implicitly defined | |
| 12 # if Package['puppet'] is ensured to be neither "absent" nor "purged". | |
| 13 # | 10 # |
| 14 # === Examples: | 11 # === Examples: |
| 15 # | 12 # |
| 16 # class {'adblockplus::puppet': | 13 # class {'adblockplus::puppet': |
| 17 # package => { | 14 # ensure => 'latest', |
| 18 # 'ensure' => 'present', | |
| 19 # 'name' => 'puppet', | |
| 20 # }, | |
| 21 # service => { | |
| 22 # 'ensure' => 'stopped', | |
| 23 # 'name' => 'puppet', | |
| 24 # }, | |
| 25 # } | 15 # } |
| 26 # | 16 # |
| 27 class adblockplus::puppet ( | 17 class adblockplus::puppet ( |
| 28 $package = hiera('adblockplus::puppet::package', {}), | 18 $ensure = 'present', |
| 29 $service = hiera('adblockplus::puppet::service', {}), | |
| 30 ) { | 19 ) { |
| 31 | 20 |
| 32 # https://forge.puppet.com/puppetlabs/stdlib | 21 # https://forge.puppet.com/puppetlabs/stdlib |
| 33 include stdlib | 22 include stdlib |
| 34 | 23 |
| 35 # https://forge.puppet.com/puppetlabs/stdlib#ensure_resource | 24 if $ensure !~ /^(absent|purged)$/ { |
| 36 ensure_resource('package', 'puppet', $package) | 25 $ensure_directory = 'directory' |
| 26 $ensure_file = 'file' |
| 27 } |
| 28 else { |
| 29 $ensure_directory = 'absent' |
| 30 $ensure_file = 'absent' |
| 31 } |
| 37 | 32 |
| 38 # https://forge.puppet.com/puppetlabs/stdlib#getparam | 33 # https://tickets.puppetlabs.com/browse/PUP-3655 |
| 39 if getparam(Package['puppet'], 'ensure') !~ /^(absent|purged)$/ { | 34 ensure_resource('file', '/var/lib/puppet/facts.d', { |
| 35 ensure => $ensure_directory, |
| 36 group => 'root', |
| 37 mode => 0755, |
| 38 owner => 'root', |
| 39 }) |
| 40 | 40 |
| 41 ensure_resource('service', 'puppet', merge({ | 41 # http://stackoverflow.com/questions/22816946/ |
| 42 'ensure' => 'stopped', | 42 ensure_resource('file', '/var/lib/puppet/facts.d/pup3665', { |
| 43 'hasrestart' => true, | 43 'content' => "#!/bin/sh\necho 'pup3665=workaround'\n", |
| 44 'hasstatus' => true, | 44 'ensure' => $ensure_file, |
| 45 }, $service)) | 45 'group' => 'root', |
| 46 'mode' => 0755, |
| 47 'owner' => 'root', |
| 48 }) |
| 46 | 49 |
| 47 Service['puppet'] <- Package['puppet'] | 50 File['/var/lib/puppet/facts.d'] -> File['/var/lib/puppet/facts.d/pup3665'] |
| 48 } | |
| 49 } | 51 } |
| OLD | NEW |