diff options
Diffstat (limited to '')
-rw-r--r-- | manifests/init.pp | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 1ecce39..8d159d4 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,42 +1,41 @@ class blog ( String $blog_root, + String $certname, + String $domain, Hash[String,Hash] $blogs = {}, - Optional[String] $domain = undef, Optional[Array[String]] $domain_aliases = undef, + String $blog_server_name = 'blog-server', ) { - 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, - } + $default = { + access_log => 'absent', + error_log => 'absent', + ssl => true, + ssl_redirect => true, + ssl_cert => "/etc/letsencrypt/live/${certname}/fullchain.pem", + ssl_key => "/etc/letsencrypt/live/${certname}/privkey.pem", + use_default_location => false, + } - create_resources(nginx::resource::server, $main_conf) + include ::nginx - 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) + nginx::resource::server { $blog_server_name: + * => $default, + server_name => [ $domain, ], + index_files => [ 'index.php', 'index.html', 'index.htm', ], + www_root => $blog::blog_root, + } + + if $domain_aliases { + nginx::resource::server { "${blog_server_name}-aliases": + * => $default, + server_name => $domain_aliases, + server_cfg_append => { + 'return' => '301 $scheme://blog.hornquist.se$request_uri', + }, } } + + create_resources(blog::instance, $blogs) } |