Index: modules/adblockplus/manifests/web/redirector.pp |
diff --git a/modules/adblockplus/manifests/web/redirector.pp b/modules/adblockplus/manifests/web/redirector.pp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..545afb4aa0e8fefa440648df903bbade674bc50f |
--- /dev/null |
+++ b/modules/adblockplus/manifests/web/redirector.pp |
@@ -0,0 +1,61 @@ |
+# == Class: adblockplus::web::redirector |
+# |
+# Manage a simple Nginx-based service for HTTP redirects. |
+# |
+# See http://hub.eyeo.com/issues/1653 for a use case example, |
+# and http://hub.eyeo.com/issues/1975 for more information. |
+# |
+# === Parameters: |
+# |
+# [*aliases*] |
+# A list of zero or more domain aliases. |
+# |
+# [*default*] |
+# The default URL to redirect to. |
+# |
+# [*domain*] |
+# The domain name the redirector instance is associated with. |
+# |
+# [*ssl_certificate*] |
+# The name of the SSL certificate file within modules/private/files, if any. |
+# Requires a private_key as well. |
+# |
+# [*ssl_private_key*] |
+# The name of the private key file within modules/private/files, if any. |
+# Requires a certificate as well. |
+# |
+# [*targets*] |
+# A hash of zero or more redirect URL items indexed by the associated URL |
+# slug, respectively. |
+# |
+# === Examples: |
+# |
+# class {'adblockplus::web::redirector': |
+# domain => 'adblockplus.to', |
+# targets => { |
+# 'jobs' => 'https://eyeo.com/en/jobs', |
+# 'team' => 'https://eyeo.com/en/team', |
+# }, |
+# } |
+# |
+class adblockplus::web::redirector ( |
+ $aliases = [], |
+ $default = 'https://adblockplus.org/', |
+ $domain = $::domain, |
+ $ssl_certificate = undef, |
+ $ssl_private_key = undef, |
+ $targets = {}, |
+) { |
+ |
+ include nginx |
+ |
+ nginx::hostconfig {$title: |
+ alt_names => $aliases, |
+ content => template('adblockplus/web/redirector.conf.erb'), |
+ certificate => $ssl_certificate, |
+ domain => $domain, |
+ is_default => true, |
+ private_key => $ssl_private_key, |
+ log => 'access_log_redirects', |
+ } |
+} |