|
class puppet::server::config inherits puppet::config {
|
|
if $puppet::server::passenger { include puppet::server::passenger }
|
|
|
|
# appends our server configuration to puppet.conf
|
|
File ["${puppet::server::dir}/puppet.conf"] {
|
|
content => template('puppet/puppet.conf.erb', 'puppet/server/puppet.conf.erb'),
|
|
}
|
|
|
|
exec {'generate_ca_cert':
|
|
creates => "${puppet::server::ssl_dir}/certs/${::fqdn}.pem",
|
|
command => "puppetca --generate ${::fqdn}",
|
|
path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
|
|
}
|
|
|
|
if $puppet::server::git_repo {
|
|
|
|
# location where our puppet environments are located
|
|
file { $puppet::server::envs_dir:
|
|
ensure => directory,
|
|
owner => $puppet::server::user,
|
|
}
|
|
|
|
# need to chown the $vardir before puppet does it, or else
|
|
# we can't write puppet.git/ on the first run
|
|
|
|
file { '/var/lib/puppet':
|
|
ensure => directory,
|
|
owner => $puppet::server::user,
|
|
}
|
|
|
|
include git
|
|
|
|
git::repo { 'puppet_repo':
|
|
bare => true,
|
|
target => $puppet::server::git_repo_path,
|
|
user => $puppet::server::user,
|
|
require => File[$puppet::server::envs_dir],
|
|
}
|
|
|
|
# git post hook to auto generate an environment per branch
|
|
file { "${puppet::server::git_repo_path}/hooks/${puppet::server::post_hook_name}":
|
|
content => template("$puppet::server::post_hook_content"),
|
|
owner => $puppet::server::user,
|
|
mode => '0755',
|
|
require => Git::Repo['puppet_repo'],
|
|
}
|
|
|
|
user { $puppet::server::user:
|
|
shell => '/usr/bin/git-shell',
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
file { [$puppet::server::modules_path, $puppet::server::common_modules_path]:
|
|
ensure => directory,
|
|
}
|
|
|
|
# setup empty directories for our environments
|
|
puppet::server::env {$puppet::server::environments: }
|
|
}
|
|
|
|
}
|