summaryrefslogtreecommitdiff
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
parentCommon puppet setup. (diff)
downloadwebdav_server-bc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4.tar.gz
webdav_server-bc41c4ba37f984a7d8624bd32e62a8cbe5d5a4e4.tar.xz
move
-rw-r--r--manifests/site.pp68
-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
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 => '',
+ }
+}