LEFT | RIGHT |
1 # == Class: adblockplus::web::fileserver | 1 # == Class: adblockplus::web::fileserver |
2 # | 2 # |
3 # A fileserver serves multiple file repositories. | 3 # A fileserver serves multiple file repositories. |
4 # | 4 # |
5 # === Parameters: | 5 # === Parameters: |
6 # | 6 # |
7 # [*fileserver_domain*] | 7 # [*domain*] |
8 # A string which is the name of the fileserver domain, under which | 8 # A string which is the name of the fileserver domain, under which |
9 # each repository has a subdomain. | 9 # each repository has a subdomain. |
10 # | 10 # |
11 # [*certificate*] | 11 # [*certificate*] |
12 # The name of the SSL certificate file within modules/private/files, if any. | 12 # The name of the SSL certificate file within modules/private/files, if any. |
13 # Requires a private_key as well. | 13 # Requires a private_key as well. |
14 # | 14 # |
15 # [*private_key*] | 15 # [*private_key*] |
16 # The name of the private key file within modules/private/files, if any. | 16 # The name of the private key file within modules/private/files, if any. |
17 # Requires a certificate as well. | 17 # Requires a certificate as well. |
18 # | 18 # |
19 # [*is_default*] | 19 # [*is_default*] |
20 # Passed on to nginx (whether or not the site config should be default). | 20 # Passed on to nginx (whether or not the site config should be default). |
21 # | 21 # |
22 # [*repositories*] | 22 # [*repositories*] |
23 # A collection (hash) of repositories to serve. | 23 # A collection (hash) of repositories to serve. |
| 24 # The contents of a repository is served on a subdomain of the fileserver. |
24 # | 25 # |
25 class adblockplus::web::fileserver( | 26 class adblockplus::web::fileserver( |
26 $fileserver_domain, | 27 $ensure = 'present', |
| 28 $domain, |
27 $certificate = undef, | 29 $certificate = undef, |
28 $private_key = undef, | 30 $private_key = undef, |
29 $is_default=false, | |
30 $repositories={}, | 31 $repositories={}, |
31 ){ | 32 ){ |
32 | 33 |
33 include nginx | 34 include nginx |
34 include adblockplus | 35 include adblockplus |
35 include adblockplus::web | 36 include adblockplus::web |
36 | 37 |
37 # Root directory for serving repositories | |
38 realize(File[$adblockplus::directory]) | 38 realize(File[$adblockplus::directory]) |
39 | 39 |
40 file {[ | 40 file {"$adblockplus::directory/fileserver": |
41 "$adblockplus::directory/fileserver", | |
42 "$adblockplus::directory/fileserver/repositories" | |
43 ]: | |
44 ensure => directory, | 41 ensure => directory, |
45 } | 42 } |
46 | 43 |
47 ensure_resources('adblockplus::web::fileserver::repository', $repositories, { | 44 ensure_resources('adblockplus::web::fileserver::repository', $repositories, { |
48 ensure => 'present', | 45 ensure => 'present', |
49 }) | 46 }) |
| 47 |
| 48 nginx::hostconfig{ "$domain": |
| 49 source => 'puppet:///modules/adblockplus/nginx/fileserver.conf', |
| 50 is_default => true, |
| 51 certificate => $certificate, |
| 52 private_key => $private_key, |
| 53 log => 'access_log_fileserver', |
| 54 } |
50 } | 55 } |
51 | 56 |
LEFT | RIGHT |