| LEFT | RIGHT | 
| (no file at all) |  | 
 |   1 # == Type: adblockplus::web::fileserver::repository | 
 |   2 # | 
 |   3 # Manage a repository on a fileserver. | 
 |   4 # | 
 |   5 # A repository is a site where a group of people can upload and artifacts. | 
 |   6 # | 
 |   7 # In its current form, a repository is simply a directory exposed on a web | 
 |   8 # server. This may evolve to make use of more advanced repositories in the | 
 |   9 # future (proxy to repository manager, or 3rd-party service, etc). | 
 |  10 # | 
 |  11 # === parameters: | 
 |  12 # | 
 |  13 # [*ensure*] | 
 |  14 #   Whether to set up the repository or not. Removing repositories is not | 
 |  15 #   supported. | 
 |  16 # | 
 |  17 # Members are handled manually on the target server for now. | 
 |  18 #      Figure out how to provision them some day. | 
 |  19 # | 
 |  20 define adblockplus::web::fileserver::repository ( | 
 |  21   $ensure = 'present', | 
 |  22 ){ | 
 |  23  | 
 |  24   $repositories_directory = "$adblockplus::directory/fileserver" | 
 |  25   $repository_directory = "$repositories_directory/$name" | 
 |  26   $repository_host = "$name.$adblockplus::web::fileserver::domain" | 
 |  27  | 
 |  28   group {"www-$name": | 
 |  29     ensure => $ensure, | 
 |  30   } | 
 |  31  | 
 |  32   file {"$repository_directory": | 
 |  33     ensure => ensure_directory_state($ensure), | 
 |  34     group => "www-$name", | 
 |  35     mode => '0775', | 
 |  36     require => [ | 
 |  37       File["$repositories_directory"], | 
 |  38       Group["www-$name"], | 
 |  39     ], | 
 |  40   } | 
 |  41  | 
 |  42   realize(File[$adblockplus::directory]) | 
 |  43  | 
 |  44   file {"/var/www/$repository_host": | 
 |  45     ensure => ensure_symlink_state($ensure), | 
 |  46     target => "$repository_directory", | 
 |  47     require => File["$repository_directory"], | 
 |  48   } | 
 |  49 } | 
 |  50  | 
| LEFT | RIGHT |