From bc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 30 Dec 2021 00:54:36 +0100 Subject: move --- modules/profiles/manifests/client.pp | 9 ++++++++ modules/profiles/manifests/common.pp | 32 +++++++++++++------------- modules/profiles/manifests/puppetboard.pp | 36 ++++++++++++++++++++++++++++++ modules/profiles/manifests/puppetdb.pp | 10 +++++++++ modules/profiles/manifests/puppetserver.pp | 14 ++++++++++++ 5 files changed, 85 insertions(+), 16 deletions(-) create mode 100644 modules/profiles/manifests/client.pp create mode 100644 modules/profiles/manifests/puppetboard.pp create mode 100644 modules/profiles/manifests/puppetdb.pp create mode 100644 modules/profiles/manifests/puppetserver.pp (limited to 'modules/profiles/manifests') 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 => '', + } +} -- cgit v1.2.3