Puppet Class: choria::config
- Defined in:
- manifests/config.pp
Overview
Configures the Choria Server
4 5 6 7 8 9 10 11 12 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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'manifests/config.pp', line 4
class choria::config {
assert_private()
$defaults = {
"collectives" => "mcollective"
}
if $choria::statusfile {
$status = {
"plugin.choria.status_file_path" => $choria::statusfile,
"plugin.choria.status_update_interval" => $choria::status_write_interval
}
} else {
$status = {}
}
$config = $defaults + $choria::server_config + $status + {
"logfile" => $choria::server_logfile,
"loglevel" => $choria::server_log_level,
"identity" => $choria::identity,
"plugin.choria.srv_domain" => $choria::srvdomain,
}
$_config_dir = dirname($choria::server_config_file)
file{[$_config_dir, "${_config_dir}/policies", "${_config_dir}/policies/rego", "${_config_dir}/plugin.d"]:
ensure => "directory",
owner => $choria::config_user,
group => $choria::config_group,
mode => "0755",
}
concat{"${_config_dir}/policies/groups":
ensure => "present",
owner => $choria::config_user,
group => $choria::config_group,
mode => "0644",
}
$choria::scout_gossfile.each |$target, $gossfile| {
file{$target:
content => $gossfile.stdlib::to_yaml,
owner => $choria::config_user,
group => $choria::config_group,
mode => "0755",
}
}
if "plugin.scout.overrides" in $choria::server_config {
file{$choria::server_config["plugin.scout.overrides"]:
content => $choria::scout_overrides.stdlib::to_json,
owner => $choria::config_user,
group => $choria::config_group,
mode => "0755",
}
}
if "plugin.choria.machine.store" in $choria::server_config {
if $choria::purge_machines {
$purge_options = {
source => "puppet:///modules/choria/empty",
ignore => ".keep",
purge => true,
recurse => true,
force => true
}
} else {
$purge_options = {}
}
file{
default:
* => $purge_options;
$choria::server_config["plugin.choria.machine.store"]:
ensure => directory,
owner => $choria::config_user,
group => $choria::config_group,
mode => "0755",
}
}
if "plugin.choria.agent_provider.mcorpc.agent_shim" in $choria::server_config and "plugin.choria.agent_provider.mcorpc.config" in $choria::server_config {
if $choria::server_config["plugin.choria.agent_provider.mcorpc.agent_shim"] =~ /\.bat$/ {
$agent_shim = $choria::server_config["plugin.choria.agent_provider.mcorpc.agent_shim"].regsubst(/\.bat$/, '.rb')
$agent_shim_wrapper = $choria::server_config["plugin.choria.agent_provider.mcorpc.agent_shim"]
} else {
$agent_shim = $choria::server_config["plugin.choria.agent_provider.mcorpc.agent_shim"]
$agent_shim_wrapper = undef
}
file{$agent_shim:
owner => $choria::config_user,
group => $choria::config_group,
mode => "0755",
content => epp("choria/choria_mcollective_agent_compat.rb.epp")
}
if $agent_shim_wrapper {
file{$agent_shim_wrapper:
owner => $choria::config_user,
group => $choria::config_group,
mode => "0755",
content => epp("choria/choria_mcollective_agent_compat.bat.epp")
}
}
}
if $choria::manage_server_config {
file{$choria::server_config_file:
owner => $choria::config_user,
group => $choria::config_group,
mode => "0640",
content => choria::hash2config($config),
require => Class["choria::install"]
}
if $choria::server {
File[$choria::server_config_file] ~> Class["choria::service"]
}
}
if $choria::server_provisioning_token {
file{$choria::server_provisioning_token_file:
owner => $choria::config_user,
group => $choria::config_group,
mode => "0640",
content => $choria::server_provisioning_token,
require => Class["choria::install"],
}
if $choria::manage_server_config and $choria::server {
File[$choria::server_provisioning_token_file] ~> Class["choria::service"]
}
}
}
|