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

Unified Diff: modules/adblockplus/manifests/buildserver.pp

Issue 29325436: Issue 1281 - Introduce module buildbot (Closed)
Patch Set: Issue 1281 - Rebase branch buildbot on top of upstream Created Sept. 5, 2015, 11:27 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/buildserver.pp
diff --git a/modules/adblockplus/manifests/buildserver.pp b/modules/adblockplus/manifests/buildserver.pp
new file mode 100644
index 0000000000000000000000000000000000000000..dd77c278aaa5d85047ee68d2174a6fb2b72abaf5
--- /dev/null
+++ b/modules/adblockplus/manifests/buildserver.pp
@@ -0,0 +1,78 @@
+# == Class: adblockplus::buildserver
+#
+# An authoritative build-server setup based on Buildbot and Nginx.
+#
+# === Parameters:
+#
+# [*domain*]
+# The domain name associated with the Buildbot waterfall page.
+#
+# [*is_default_domain*]
+# Whether the Buildbot page should serve as the default content
+# handler with the HTTP server setup.
+#
+# [*ssl_cert*]
+# The SSL certificate file name within the private module, if any.
+# Requires an $ssl_key to be provided as well.
+#
+# [*ssl_key*]
+# The SSL key file name within the private module, if any.
+# Requires an $ssl_cert to be provided as well.
+#
+# [*slaves*]
+# Local buildbot::slave records to setup with the master.
+#
+# [*slots*]
+# Name => password pairs of e.g. remote build slaves.
+#
+# === Examples:
+#
+# class {'adblockplus::buildserver':
+# domain => 'localhost',
+# is_default_domain => true,
+# }
+#
+class adblockplus::buildserver (
Felix Dahlke 2015/09/29 14:04:22 I'm wondering if we should call the module "buildm
Felix Dahlke 2015/09/29 14:04:22 Why is the module called "adblockplus" and not "bu
mathias 2015/09/29 14:18:56 Acknowledged.
mathias 2015/09/29 14:18:56 The first part (adblockplus::) is considered a nam
Felix Dahlke 2015/10/02 12:16:26 That's news to me, but fine by me - as long as we
mathias 2015/10/02 13:47:40 Acknowledged.
+ $domain,
+ $is_default_domain = false,
+ $project = {},
Felix Dahlke 2015/09/29 14:04:22 This one isn't documented above.
mathias 2015/09/29 14:18:56 Acknowledged.
+ $ssl_cert = hiera('adblockplus::buildserver::ssl_cert', 'undef'),
+ $ssl_key = hiera('adblockplus::buildserver::ssl_key', 'undef'),
+ $slaves = hiera('adblockplus::buildserver::slaves', {}),
+ $slots = hiera('adblockplus::buildserver::slots', {}),
+) {
+
+ include nginx
+
+ # change default behavior, but still recognize hiera values
+ class {'buildbot':
+ master_service => hiera('buildbot::master_service', 'running'),
Felix Dahlke 2015/09/29 14:04:21 Wrong indentation?
mathias 2015/09/29 14:18:56 Acknowledged.
+ slave_service => hiera('buildbot::slave_service', 'running'),
+ }
+
+ buildbot::master {'default':
+ project => $project,
+ slaves => $slaves,
+ slots => $slots,
+ system => true,
+ }
+
+ buildbot::fragment {'custom':
+ authority => Buildbot::Master['default'],
+ content => template('adblockplus/buildserver.erb'),
+ }
+
+ nginx::hostconfig {$domain:
+ certificate => $ssl_cert ? {
+ 'undef' => undef,
+ default => $ssl_cert,
+ },
+ source => 'puppet:///modules/adblockplus/nginx/buildserver.conf',
+ is_default => $is_default_domain,
+ log => 'access_log_buildbot',
+ private_key => $ssl_key ? {
+ 'undef' => undef,
+ default => $ssl_key,
+ },
+ }
+}

Powered by Google App Engine
This is Rietveld