# # 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. # # Variables $templates = "$bootstrap_path/templates" $base_domain = hiera('bootstrap::base_domain', 'example.org') $db_password = hiera('nodo::role::master::db_password', 'changeme') # 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 nodes #file { "$bootstrap_path/manifests/nodes.pp": # ensure => present, # mode => 0644, # content => template("$templates/puppet/nodes.pp.erb"), #} # ## Basic users #file { "$bootstrap_path/manifests/classes/users.pp": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/manifests/classes"] ], # content => template("$templates/puppet/users.pp.erb"), #} # ## First host #file { "$bootstrap_path/manifests/nodes/$hostname.pp": # ensure => present, # mode => 0644, # content => template("$templates/puppet/server.pp.erb"), #} # ## Master node #file { "$bootstrap_path/manifests/nodes/$hostname-master.pp": # ensure => present, # mode => 0644, # content => template("$templates/puppet/master.pp.erb"), #} # ## Proxy node #file { "$bootstrap_path/manifests/nodes/$hostname-proxy.pp": # ensure => present, # mode => 0644, # content => template("$templates/puppet/proxy.pp.erb"), #} # ## Web node #file { "$bootstrap_path/manifests/nodes/$hostname-web.pp": # ensure => present, # mode => 0644, # content => template("$templates/puppet/web.pp.erb"), #} # ## Storage node #file { "$bootstrap_path/manifests/nodes/$hostname-storage.pp": # ensure => present, # mode => 0644, # content => template("$templates/puppet/storage.pp.erb"), #} # ## Test node #file { "$bootstrap_path/manifests/nodes/$hostname-test.pp": # ensure => present, # mode => 0644, # content => template("$templates/puppet/test.pp.erb"), #} # ## files in $bootstrap_path/files #file { [ "$bootstrap_path/files", # "$bootstrap_path/modules/site_nginx", # "$bootstrap_path/modules/site_nginx/files", # "$bootstrap_path/modules/site_nagios", # "$bootstrap_path/modules/site_nagios/files", # "$bootstrap_path/modules/site_postfix", # "$bootstrap_path/modules/site_postfix/files", # "$bootstrap_path/modules/site_mail", # "$bootstrap_path/modules/site_mail/files", # "$bootstrap_path/modules/site_apache", # "$bootstrap_path/modules/site_apache/files", # "$bootstrap_path/modules/site_apache/files/vhosts", # "$bootstrap_path/modules/site_apache/files/htdocs", # "$bootstrap_path/modules/site_apache/files/htdocs/images", # "$bootstrap_path/modules/site_keys", # "$bootstrap_path/modules/site_keys/files", # "$bootstrap_path/modules/site_keys/files/ssl", ]: # ensure => directory, # owner => "puppet", # group => "puppet", # mode => 0755, #} # #file { "$bootstrap_path/files/empty": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/files"] ], #} # #file { "$bootstrap_path/modules/site-apache/htdocs/images/README.html": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-apache/files/htdocs/images"] ], # content => template("$templates/apache/htdocs/images/README.html.erb"), #} # #file { "$bootstrap_path/modules/site-apache/files/htdocs/index.html": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-apache/files/htdocs"] ], # content => template("$templates/apache/htdocs/index.html.erb"), #} # #file { "$bootstrap_path/modules/site-apache/files/htdocs/missing.html": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-apache/files/htdocs"] ], # content => template("$templates/apache/htdocs/missing.html.erb"), #} # #file { "$bootstrap_path/modules/site-apache/files/vhosts/git": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-apache/files/vhosts"] ], # content => template("$templates/apache/vhosts/git.erb"), #} # #file { "$bootstrap_path/modules/site-apache/files/vhosts/lists": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-apache/files/vhosts"] ], # content => template("$templates/apache/vhosts/lists.erb"), #} # #file { "$bootstrap_path/modules/site-apache/files/vhosts/mail": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-apache/files/vhosts"] ], # content => template("$templates/apache/vhosts/mail.erb"), #} # #file { "$bootstrap_path/modules/site-apache/files/vhosts/nagios": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-apache/files/vhosts"] ], # content => template("$templates/apache/vhosts/nagios.erb"), #} # #file { "$bootstrap_path/modules/site-apache/files/vhosts/wiki": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-apache/files/vhosts"] ], # content => template("$templates/apache/vhosts/wiki.erb"), #} # #file { "$bootstrap_path/modules/site-mail/files/aliases": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-mail/files"] ], # content => template("$templates/etc/aliases.erb"), #} # #file { "$bootstrap_path/modules/site-nagios/files/htpasswd.users": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-nagios/files"] ], # content => template("$templates/etc/nagios3/htpasswd.users.erb"), #} # #file { "$bootstrap_path/modules/site-nginx/files/$domain": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-nginx/files"] ], # content => template("$templates/etc/nginx/domain.erb"), #} # #file { "$bootstrap_path/modules/site-postfix/files/tls_policy": # ensure => present, # owner => "puppet", # group => "puppet", # mode => 0644, # require => [ Package["puppet"], File["$bootstrap_path/modules/site-postfix/files"] ], # content => template("$templates/postfix/tls_policy.erb"), #}