Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: modules/adblockplus/manifests/web/fileserver/repository.pp

Issue 29795567: #11371 - Password protection for fileserver repositories (Closed)
Patch Set: Created May 31, 2018, 4:19 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 # == Type: adblockplus::web::fileserver::repository 1 # == Type: adblockplus::web::fileserver::repository
2 # 2 #
3 # Manage a repository on a fileserver. 3 # Manage a repository on a fileserver.
4 # 4 #
5 # A repository is a site where a group of people can upload and artifacts. 5 # A repository is a site where a group of people can upload and artifacts.
6 # 6 #
7 # In its current form, a repository is simply a directory exposed on a web 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 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). 9 # future (proxy to repository manager, or 3rd-party service, etc).
10 # 10 #
11 # === parameters: 11 # === parameters:
12 # 12 #
13 # [*ensure*] 13 # [*ensure*]
14 # Whether to set up the repository or not. Removing repositories is not 14 # Whether to set up the repository or not. Removing repositories is not
15 # supported. 15 # supported.
16 # 16 #
17 # [*users*] 17 # [*users*]
18 # System users that should be created and added to the group that has 18 # System users that should be created and added to the group that has
19 # write permissions for the repository directory 19 # write permissions for the repository directory
20 # 20 #
21 # [*auth_users*]
22 # Array of users in the form of user:hash, used for http basic authentication
23 #
21 define adblockplus::web::fileserver::repository ( 24 define adblockplus::web::fileserver::repository (
22 $ensure = 'present', 25 $ensure = 'present',
23 $users = {}, 26 $users = {},
27 $auth_users = [],
24 ){ 28 ){
25 29
26 $repositories_directory = "$adblockplus::directory/fileserver" 30 $repositories_directory = "$adblockplus::directory/fileserver"
27 $repository_directory = "$repositories_directory/$name" 31 $repository_directory = "$repositories_directory/$name"
28 $group_name = "www-$name" 32 $group_name = "www-$name"
29 $repository_host = $name ? { 33 $repository_host = $name ? {
30 'www' => "$adblockplus::web::fileserver::domain", 34 'www' => "$adblockplus::web::fileserver::domain",
31 default => "$name.$adblockplus::web::fileserver::domain", 35 default => "$name.$adblockplus::web::fileserver::domain",
32 } 36 }
37 $auth_file = "$adblockplus::directory/${name}_htpasswd"
38
39 nginx::hostconfig{ "$repository_host":
40 content => template("adblockplus/web/fileserver.conf.erb"),
41 is_default => false,
42 certificate => $adblockplus::web::fileserver::certificate,
43 private_key => $adblockplus::web::fileserver::private_key,
44 log => 'access_log_fileserver',
45 }
46
47 file {"$auth_file":
48 ensure => ensure_file_state($ensure),
49 content => inline_template('<%= @auth_users.join("\n") if @auth_users %>')
50 }
33 51
34 group {"$group_name": 52 group {"$group_name":
35 ensure => $ensure, 53 ensure => $ensure,
36 } 54 }
37 55
38 file {"$repository_directory": 56 file {"$repository_directory":
39 ensure => ensure_directory_state($ensure), 57 ensure => ensure_directory_state($ensure),
40 group => $group_name, 58 group => $group_name,
41 mode => '0775', 59 mode => '0775',
42 require => [ 60 require => [
(...skipping 10 matching lines...) Expand all
53 71
54 realize(File[$adblockplus::directory]) 72 realize(File[$adblockplus::directory])
55 73
56 file {"/var/www/$repository_host": 74 file {"/var/www/$repository_host":
57 ensure => ensure_symlink_state($ensure), 75 ensure => ensure_symlink_state($ensure),
58 target => "$repository_directory", 76 target => "$repository_directory",
59 require => File["$repository_directory"], 77 require => File["$repository_directory"],
60 } 78 }
61 } 79 }
62 80
OLDNEW
« no previous file with comments | « modules/adblockplus/manifests/web/fileserver.pp ('k') | modules/adblockplus/templates/web/fileserver.conf.erb » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld