| 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 |