This module installs Perun slave scripts and configures remote access to these management scripts from server.
Module has been tested on:
- Puppet 3.5
- OS:
- Debian 6,7
- RHEL/CentOS 6
- SLES/SLED 11 SP3
Required modules:
- yum (https://github.com/CERIT-SC/puppet-yum)
- stdlib (https://github.com/puppetlabs/puppetlabs-stdlib)
Setup client
include perun
Full configuration options:
class { 'perun':
ensure => present|absent|latest, # ensure state
user => 'root', # local privileged user
allow_from => 'foo.example.com', # enabled remote Perun server name
ssh_type => 'ssh-rsa' or 'ssh-dss', # SSH key type
ssh_key => '...', # SSH key
perun_conf => '...', # Perun configuration file
packages => [..], # list of packages for install
use_repo => false|true, # include external repository
own_repo_class => '...', # use own repository class
require_class => '...', # custom required class
}
Some configuration can be sourced from /etc
(typically
/etc/perunv3.conf
). Definition perun::conf
allows
to specify these changes in form of shell script snippets.
Full configuration options:
perun::conf { 'name':
order => number, # location in file
content => '...', # configuration script
perun_conf => '...', # configuration file
}
Example:
perun::conf { 'service_blacklist':
content => 'SERVICE_BLACKLIST=(passwd)',
}
Hooks are executed before, during or after particular service propagation. Hook content is a shell script.
Full configuration options:
perun::hook { 'hook_name':
ensure => present|absent, # ensure state
service => '...', # Perun service name
type => 'pre' or 'post' or 'mid', # execution time
content => '...', # commands to run
perun_dir => '...', # parent directory of hooks
}
Example:
perun::hook { 'passwd_mail':
ensure => present,
service => 'passwd',
type => 'post',
content => 'echo | mail -s "Perun done on passwd" root',
}
CERIT Scientific Cloud, support@cerit-sc.cz