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 /modules | |
parent | Common puppet setup. (diff) | |
download | webdav_server-bc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4.tar.gz webdav_server-bc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4.tar.xz |
move
Diffstat (limited to '')
-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 |
5 files changed, 85 insertions, 16 deletions
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 => '', + } +} |