Puppet Class: hiera::eyaml
- Defined in:
- manifests/eyaml.pp
Overview
Class: hiera::eyaml
This class installs and configures hiera-eyaml
Authors:
Terri Haber <terri@puppetlabs.com>
Copyright:
Copyright © 2014 Terri Haber, unless otherwise noted.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'manifests/eyaml.pp', line 13
class hiera::eyaml {
$eyaml_name = $hiera::eyaml_name
$provider = $hiera::provider
$eyaml_version = $hiera::eyaml_version
$eyaml_source = $hiera::_eyaml_source
$owner = $hiera::eyaml_owner
$group = $hiera::eyaml_group
$cmdpath = $hiera::cmdpath
$confdir = $hiera::confdir
$create_keys = $hiera::create_keys
$_keysdir = $hiera::_keysdir
$manage_package = $hiera::manage_eyaml_package
if $manage_package {
::hiera::install { 'eyaml':
gem_name => $eyaml_name,
provider => $provider,
gem_version => $eyaml_version,
gem_source => $eyaml_source,
}
if $create_keys {
Hiera::Install['eyaml'] {
before => Exec['createkeys'],
}
}
}
File {
owner => $owner,
group => $group,
}
file { $_keysdir:
ensure => directory,
}
$keysdir = dirname($_keysdir)
if ( $create_keys == true ) {
exec { 'createkeys':
user => $owner,
cwd => $keysdir,
command => 'eyaml createkeys',
path => $cmdpath,
creates => "${_keysdir}/private_key.pkcs7.pem",
require => File[$_keysdir],
}
file { "${_keysdir}/private_key.pkcs7.pem":
ensure => file,
mode => '0600',
require => Exec['createkeys'],
}
file { "${_keysdir}/public_key.pkcs7.pem":
ensure => file,
mode => '0644',
require => Exec['createkeys'],
}
}
}
|