| Index: modules/adblockplus/manifests/web/fileserver.pp |
| =================================================================== |
| new file mode 100644 |
| --- /dev/null |
| +++ b/modules/adblockplus/manifests/web/fileserver.pp |
| @@ -0,0 +1,51 @@ |
| +# == Class: adblockplus::web::fileserver |
| +# |
| +# A fileserver serves multiple file repositories. |
| +# |
| +# === Parameters: |
| +# |
| +# [*fileserver_domain*] |
| +# A string which is the name of the fileserver domain, under which |
| +# each repository has a subdomain. |
| +# |
| +# [*certificate*] |
| +# The name of the SSL certificate file within modules/private/files, if any. |
| +# Requires a private_key as well. |
| +# |
| +# [*private_key*] |
| +# The name of the private key file within modules/private/files, if any. |
| +# Requires a certificate as well. |
| +# |
| +# [*is_default*] |
| +# Passed on to nginx (whether or not the site config should be default). |
| +# |
| +# [*repositories*] |
| +# A collection (hash) of repositories to serve. |
| +# |
| +class adblockplus::web::fileserver( |
| + $fileserver_domain, |
| + $certificate = undef, |
| + $private_key = undef, |
| + $is_default=false, |
| + $repositories={}, |
| +){ |
| + |
| + include nginx |
| + include adblockplus |
| + include adblockplus::web |
| + |
| + # Root directory for serving repositories |
| + realize(File[$adblockplus::directory]) |
| + |
| + file {[ |
| + "$adblockplus::directory/fileserver", |
| + "$adblockplus::directory/fileserver/repositories" |
| + ]: |
| + ensure => directory, |
| + } |
| + |
| + ensure_resources('adblockplus::web::fileserver::repository', $repositories, { |
| + ensure => 'present', |
| + }) |
| +} |
| + |