1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
node 'gandalf.adrift.space' {
notify { 'anything':
message => 'Will this be shown',
}
}
node 'hornquist.se' {
notify { 'anything':
message => 'Hello, World!',
}
}
node 'busting.adrift.space' {
file_line { 'hosts ourself':
ensure => present,
line => "::1\t${::fqdn}\t${facts['name']}",
path => '/etc/hosts',
}
ensure_packages(['ruby'])
class { 'puppet':
server => true,
# agent => false,
server_foreman => false,
# server_reports => 'puppetdb',
server_reports => 'store',
server_storeconfigs => false,
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,
}
# Configure puppetboard
class { 'puppetboard':
manage_git => true,
manage_virtualenv => true,
require => Class['puppetdb'],
puppetdb_port => 8080,
python_loglevel => 'debug',
}
class { 'puppetboard::apache::vhost':
vhost_name => $::fqdn,
port => 80,
}
}
|