diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2021-12-30 00:54:36 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2021-12-30 01:00:50 +0100 |
commit | bc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4 (patch) | |
tree | d4d8e7d430ea86fbbd9ba7c9a719dba2c8fcd5c9 | |
parent | Common puppet setup. (diff) | |
download | webdav_server-bc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4.tar.gz webdav_server-bc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4.tar.xz |
move
Diffstat (limited to '')
-rw-r--r-- | manifests/site.pp | 68 | ||||
-rw-r--r-- | modules/profiles/manifests/client.pp | 9 | ||||
-rw-r--r-- | modules/profiles/manifests/common.pp | 32 | ||||
-rw-r--r-- | modules/profiles/manifests/puppetboard.pp | 36 | ||||
-rw-r--r-- | modules/profiles/manifests/puppetdb.pp | 10 | ||||
-rw-r--r-- | modules/profiles/manifests/puppetserver.pp | 14 |
6 files changed, 93 insertions, 76 deletions
diff --git a/manifests/site.pp b/manifests/site.pp index 09cbca3..fbdad07 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -2,71 +2,15 @@ node 'busting.adrift.space' { include ::profiles::common + # to allow clone of repo as root class { 'ssh': permit_root_login => true, } - ensure_packages(['ruby']) - - class { 'puppet': - server => true, - # agent => false, - server_foreman => false, - server_reports => 'puppetdb', - server_storeconfigs => true, - server_git_repo => true, - server_git_repo_path => '/var/lib/puppet.git', - server_external_nodes => '', - } - - # class { 'puppet::server::puppetdb': - # port => 8080, - # } - - # exec { 'puppetdb ssl-setup': - # creates => '/etc/puppetlabs/puppetdb/ssl/{ca,private,public}.pem' - # } - - class { 'puppetdb': - listen_address => '::', - disable_ssl => false, - } - # class { 'puppetdb::master::config': } - - # https://forge.puppet.com/modules/puppet/puppetboard/readme - # Configure Apache - class { 'apache': - default_vhost => false, - purge_configs => true, - } - - $wsgi = $facts['os']['family'] ? { - 'Debian' => { - package_name => 'libapache2-mod-wsgi-py3', - mod_path => '/usr/lib/apache2/modules/mod_wsgi.so', - }, - default => {} - } - - class { 'apache::mod::wsgi': - * => $wsgi, - } + include ::profiles::puppetserver + include ::profiles::puppetdb + include ::profiles::puppetboard - # Configure puppetboard - - class { 'puppetboard': - manage_git => true, - manage_virtualenv => true, - require => Class['puppetdb'], - puppetdb_port => 8080, - python_loglevel => 'info', - offline_mode => true, - } - - class { 'puppetboard::apache::vhost': - vhost_name => $::fqdn, - port => 80, - } } node 'gandalf.adrift.space' { @@ -76,6 +20,8 @@ node 'gandalf.adrift.space' { } include ::profiles::common + include ::profiles::client + include ::losetup include ::profiles::xmonad include ::profiles::workstation @@ -136,6 +82,8 @@ node 'gandalf.adrift.space' { node 'hornquist.se' { include ::profiles::common + include ::profiles::client + include ::profiles::firewall ensure_packages([ diff --git a/modules/profiles/manifests/client.pp b/modules/profiles/manifests/client.pp new file mode 100644 index 0000000..f0a9b93 --- /dev/null +++ b/modules/profiles/manifests/client.pp @@ -0,0 +1,9 @@ +class profiles::client { + + class { 'puppet': + server => false, + agent => true, + puppetmaster => $facts['extlib__puppet_config']['main']['server'], + } + +} diff --git a/modules/profiles/manifests/common.pp b/modules/profiles/manifests/common.pp index 73c4bd1..ec7197d 100644 --- a/modules/profiles/manifests/common.pp +++ b/modules/profiles/manifests/common.pp @@ -9,20 +9,20 @@ class profiles::common { # extlib__puppet_config contains our current settings. # This saves whatever was passed in the --server flag # to disk - ini_setting { 'Puppet Server': - ensure => present, - path => '/etc/puppetlabs/puppet/puppet.conf', - section => 'main', - setting => 'server', - indent_char => ' ', - indent_width => 4, - value => $facts['extlib__puppet_config']['main']['server'], - } - - # Manage puppet manually, instead of through theforeman/puppet, - # since they haven't bothered to document their module. - service { 'puppet': - ensure => running, - enable => true, - } + # ini_setting { 'Puppet Server': + # ensure => present, + # path => '/etc/puppetlabs/puppet/puppet.conf', + # section => 'main', + # setting => 'server', + # indent_char => ' ', + # indent_width => 4, + # value => $facts['extlib__puppet_config']['main']['server'], + # } + # + # # Manage puppet manually, instead of through theforeman/puppet, + # # since they haven't bothered to document their module. + # service { 'puppet': + # ensure => running, + # enable => true, + # } } diff --git a/modules/profiles/manifests/puppetboard.pp b/modules/profiles/manifests/puppetboard.pp new file mode 100644 index 0000000..74eb929 --- /dev/null +++ b/modules/profiles/manifests/puppetboard.pp @@ -0,0 +1,36 @@ +class profiles::puppetboard { + # https://forge.puppet.com/modules/puppet/puppetboard/readme + # Configure Apache + class { 'apache': + default_vhost => false, + purge_configs => true, + } + + $wsgi = $facts['os']['family'] ? { + 'Debian' => { + package_name => 'libapache2-mod-wsgi-py3', + mod_path => '/usr/lib/apache2/modules/mod_wsgi.so', + }, + default => {} + } + + class { 'apache::mod::wsgi': + * => $wsgi, + } + + # Configure puppetboard + + class { 'puppetboard': + manage_git => true, + manage_virtualenv => true, + require => Class['puppetdb'], + puppetdb_port => 8080, + python_loglevel => 'info', + offline_mode => true, + } + + class { 'puppetboard::apache::vhost': + vhost_name => $::fqdn, + port => 80, + } +} diff --git a/modules/profiles/manifests/puppetdb.pp b/modules/profiles/manifests/puppetdb.pp new file mode 100644 index 0000000..ddfb73c --- /dev/null +++ b/modules/profiles/manifests/puppetdb.pp @@ -0,0 +1,10 @@ +class profiles::puppetdb { + # exec { 'puppetdb ssl-setup': + # creates => '/etc/puppetlabs/puppetdb/ssl/{ca,private,public}.pem' + # } + + class { 'puppetdb': + listen_address => '::', + disable_ssl => false, + } +} diff --git a/modules/profiles/manifests/puppetserver.pp b/modules/profiles/manifests/puppetserver.pp new file mode 100644 index 0000000..3140e8a --- /dev/null +++ b/modules/profiles/manifests/puppetserver.pp @@ -0,0 +1,14 @@ +class profiles::puppetserver { + # required for the git hook + ensure_packages(['ruby']) + + class { 'puppet': + server => true, + server_foreman => false, + server_reports => 'puppetdb', + server_storeconfigs => true, + server_git_repo => true, + server_git_repo_path => '/var/lib/puppet.git', + server_external_nodes => '', + } +} |