summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2021-12-30 00:54:36 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2021-12-30 01:00:50 +0100
commitbc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4 (patch)
treed4d8e7d430ea86fbbd9ba7c9a719dba2c8fcd5c9 /modules
parentCommon puppet setup. (diff)
downloadwebdav_server-bc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4.tar.gz
webdav_server-bc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4.tar.xz
move
Diffstat (limited to 'modules')
-rw-r--r--modules/profiles/manifests/client.pp9
-rw-r--r--modules/profiles/manifests/common.pp32
-rw-r--r--modules/profiles/manifests/puppetboard.pp36
-rw-r--r--modules/profiles/manifests/puppetdb.pp10
-rw-r--r--modules/profiles/manifests/puppetserver.pp14
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 => '',
+ }
+}