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

Unified Diff: modules/adblockplus/manifests/web/fileserver/repository.pp

Issue 29551585: #2317 - provide role fileserver for eyeofiles.com (Closed) Base URL: https://hg1/infrastructure
Patch Set: replace hardcoded repository with definition Created Sept. 21, 2017, 9:34 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: modules/adblockplus/manifests/web/fileserver/repository.pp
===================================================================
new file mode 100644
--- /dev/null
+++ b/modules/adblockplus/manifests/web/fileserver/repository.pp
@@ -0,0 +1,48 @@
+# == Type: adblockplus::web::fileserver::repository
+#
+# Manage a repository in a filterserver.
+#
+# A repository is a directory where a group of people can place files.
+# The directory is linked into /var/www so that the files can be downloaded.
+#
+# The directory and the group have the same name.
+#
+# === parameters:
+#
+# [*ensure*]
+# Whether to set up the repository or not. Removing repositories is not supported.
+#
+define adblockplus::web::fileserver::repository (
mathias 2017/09/22 07:00:15 Why ::repository? This is rather misleading. Or do
f.nicolaisen 2017/09/22 07:57:44 Since I don't know where this is going to end up,
+ $ensure = 'present',
+){
+
+ $repositories_directory = "$adblockplus::directory/fileserver/repositories"
+
+ if $ensure !~ /^(absent|purged)$/ {
+ group {"www-$name":
+ ensure => present,
+ # TODO Members are handled manually on the target server for now. Should go into configuration.
+ }
+
+ # (2) create the repository folder
+ file {"$repositories_directory/$name":
+ ensure => directory,
+ group => "www-$name",
+ mode => '0775',
+ require => [
+ File["$repositories_directory"],
+ Group["www-$name"],
+ ],
+ }
+
+ # (3) symlink the repository into www:
+ file {"/var/www/$name":
+ ensure => link,
+ target => "$repositories_directory/$name",
+ require => [
+ File["$repositories_directory/$name"],
+ Package['nginx'],
+ ],
+ }
+ }
+}

Powered by Google App Engine
This is Rietveld