57 lines
1.2 KiB
ObjectPascal
57 lines
1.2 KiB
ObjectPascal
![]() |
class reverse_proxy {
|
||
|
contain reverse_proxy::install
|
||
|
contain reverse_proxy::config
|
||
|
contain reverse_proxy::service
|
||
|
}
|
||
|
|
||
|
class reverse_proxy::install {
|
||
|
package { 'nginx':
|
||
|
ensure => installed,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
define reverse_proxy::conf_file (
|
||
|
$dest_base,
|
||
|
$source_base,
|
||
|
$group = 'www-data',
|
||
|
$owner = 'www-data',
|
||
|
$mode = '0640',
|
||
|
) {
|
||
|
file { "${dest_base}/${name}":
|
||
|
source => "${source_base}/${name}",
|
||
|
ensure => 'present',
|
||
|
group => $group,
|
||
|
owner => $owner,
|
||
|
mode => $mode,
|
||
|
notify => Service['nginx'],
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class reverse_proxy::config {
|
||
|
$config_files = [
|
||
|
# Make our dirs first
|
||
|
'conf.d', 'cert',
|
||
|
|
||
|
# Then we can populate them
|
||
|
'conf.d/fedi.amy.mov', 'conf.d/s3.amy.mov', 'conf.d/blog.amy.mov', 'conf.d/auth.amy.mov', 'conf.d/pg.amy.mov',
|
||
|
'conf.d/forge.amy.mov', 'conf.d/cloud.amy.mov', 'conf.d/secrets.amy.mov',
|
||
|
|
||
|
'conf.d/internal-s3.amy.mov',
|
||
|
|
||
|
'cert/cf.key', 'cert/cf.pem',
|
||
|
'nginx.conf'
|
||
|
]
|
||
|
|
||
|
reverse_proxy::conf_file { $config_files:
|
||
|
source_base => 'puppet:///modules/reverse_proxy',
|
||
|
dest_base => '/etc/nginx'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class reverse_proxy::service {
|
||
|
service { 'nginx':
|
||
|
ensure => running,
|
||
|
enable => true,
|
||
|
}
|
||
|
}
|