summaryrefslogtreecommitdiff
path: root/modules/blog/manifests/init.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/blog/manifests/init.pp')
-rw-r--r--modules/blog/manifests/init.pp38
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)
+ }
+ }
}