diff options
Diffstat (limited to 'modules/blog/manifests/init.pp')
-rw-r--r-- | modules/blog/manifests/init.pp | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/modules/blog/manifests/init.pp b/modules/blog/manifests/init.pp index 9b5f050..1ecce39 100644 --- a/modules/blog/manifests/init.pp +++ b/modules/blog/manifests/init.pp @@ -1,6 +1,42 @@ class blog ( String $blog_root, - Hash[String,Hash] $blogs = {} + Hash[String,Hash] $blogs = {}, + Optional[String] $domain = undef, + Optional[Array[String]] $domain_aliases = undef, ) { create_resources(blog::instance, $blogs) + + if $domain { + $default = { + access_log => 'absent', + error_log => 'absent', + ssl => true, + ssl_cert => "/etc/letsencrypt/live/${certname}/fullchain.pem", + ssl_key => "/etc/letsencrypt/live/${certname}/privkey.pem", + use_default_location => false, + } + $domain_conf = { + server_name => [ $domain, ], + index_files => [ 'index.php', 'index.html', 'index.htm', ], + www_root => $blog::blog_root, + } + + $main_conf = { + "${safe_title} - server" => $default + $domain_conf, + } + + create_resources(nginx::resource::server, $main_conf) + + if $domain_aliases { + $alias_conf = { + "${safe_title} - aliases" => $default + { + server_name => $domain_aliases, + server_cfg_append => { + 'return' => '301 $scheme://blog.hornquist.se$request_uri', + }, + }, + } + create_resources(nginx::resource::server, $alias_conf) + } + } } |