# # Puppet Bootstrap Configuration Manifest. # # This file is responsible to set custom configuration in the bootstrap # repository for values set in the hiera configuration. # # This manifest is useful mostly after you cloned the puppet-boostrap module # and want to configure it to boostrap a whole puppetmaster infrastructure. # # # Basic variables # $templates = "$bootstrap_path/templates" $base_domain = hiera('bootstrap::base_domain', "${::domain}") $first_hostname = hiera('bootstrap::first_hostname', "${::hostname}") $first_nodes = hiera('bootstrap::first_nodes', 'absent') $db_password = hiera('nodo::role::master::db_password', 'changeme') $mysql_rootpw = hiera('mysql::server::rootpw', '') $root_password = hiera('bootstrap::root:password', 'rootpass') $first_user = hiera('bootstrap::first_user', 'user') $first_user_password = hiera('bootstrap::first_user::password', 'userpass') $first_user_sshkey = hiera('bootstrap::first_user::sshkey', 'usersshkey') $first_user_email = hiera('bootstrap::first_user::email', 'usermail') $resolvconf_nameservers = hiera('nodo::subsystem::resolver::nameservers', '201.6.2.152:201.6.2.32') $global_munin_allow = hiera('nodo::munin_node::allow', '192.168.0.[0-9]*') # # Puppet configuration # file { "$bootstrap_path/puppet.conf": ensure => present, mode => 0644, content => template("$templates/puppet/puppet.conf.erb"), } # Fileserver configuration file { "$bootstrap_path/fileserver.conf": ensure => present, mode => 0644, content => template("$templates/puppet/fileserver.conf.erb"), } file { "$bootstrap_path/auth.conf": ensure => present, mode => 0644, content => template("$templates/puppet/auth.conf.erb"), } # # Basic users # file { "$bootstrap_path/manifests/classes/users.pp": ensure => present, mode => 0644, content => template("$templates/puppet/users.pp.erb"), } # # Site files # file { "$bootstrap_path/modules/site_apache/htdocs/images/README.html": ensure => present, mode => 0644, content => template("$templates/apache/htdocs/images/README.html.erb"), } file { "$bootstrap_path/modules/site_apache/files/htdocs/index.html": ensure => present, mode => 0644, content => template("$templates/apache/htdocs/index.html.erb"), } file { "$bootstrap_path/modules/site_apache/files/htdocs/missing.html": ensure => present, mode => 0644, content => template("$templates/apache/htdocs/missing.html.erb"), } file { "$bootstrap_path/modules/site_apache/files/vhosts/git": ensure => present, mode => 0644, content => template("$templates/apache/vhosts/git.erb"), } file { "$bootstrap_path/modules/site_apache/files/vhosts/lists": ensure => present, mode => 0644, content => template("$templates/apache/vhosts/lists.erb"), } file { "$bootstrap_path/modules/site_apache/files/vhosts/mail": ensure => present, mode => 0644, content => template("$templates/apache/vhosts/mail.erb"), } file { "$bootstrap_path/modules/site_apache/files/vhosts/nagios": ensure => present, mode => 0644, content => template("$templates/apache/vhosts/nagios.erb"), } file { "$bootstrap_path/modules/site_apache/files/vhosts/wiki": ensure => present, mode => 0644, content => template("$templates/apache/vhosts/wiki.erb"), } file { "$bootstrap_path/modules/site_mail/files/aliases": ensure => present, mode => 0644, content => template("$templates/etc/aliases.erb"), } file { "$bootstrap_path/modules/site_nagios/files/htpasswd.users": ensure => present, mode => 0644, content => template("$templates/etc/nagios3/htpasswd.users.erb"), } file { "$bootstrap_path/modules/site_nginx/files/$domain": ensure => present, mode => 0644, content => template("$templates/etc/nginx/domain.erb"), } file { "$bootstrap_path/modules/site_postfix/files/tls_policy": ensure => present, mode => 0644, content => template("$templates/postfix/tls_policy.erb"), } # # Basic nodes # file { "$bootstrap_path/manifests/nodes.pp": ensure => $first_nodes, mode => 0644, content => template("$templates/puppet/nodes.pp.erb"), } # First host file { "$bootstrap_path/manifests/nodes/$first_hostname.pp": ensure => $first_nodes, mode => 0644, content => template("$templates/puppet/server.pp.erb"), } # Master node file { "$bootstrap_path/manifests/nodes/$first_hostname-master.pp": ensure => $first_nodes, mode => 0644, content => template("$templates/puppet/master.pp.erb"), } # Proxy node file { "$bootstrap_path/manifests/nodes/$first_hostname-proxy.pp": ensure => $first_nodes, mode => 0644, content => template("$templates/puppet/proxy.pp.erb"), } # Web node file { "$bootstrap_path/manifests/nodes/$first_hostname-web.pp": ensure => $first_nodes, mode => 0644, content => template("$templates/puppet/web.pp.erb"), } # Storage node file { "$bootstrap_path/manifests/nodes/$first_hostname-storage.pp": ensure => $first_nodes, mode => 0644, content => template("$templates/puppet/storage.pp.erb"), } # Test node file { "$bootstrap_path/manifests/nodes/$first_hostname-test.pp": ensure => $first_nodes, mode => 0644, content => template("$templates/puppet/test.pp.erb"), }