ArielGlenn has submitted this change and it was merged.
Change subject: module for releases webserver (mobile and mw tarballs)
......................................................................
module for releases webserver (mobile and mw tarballs)
Change-Id: Ife41e6f5c937e5af6b922cf118b7a7042dd794a9
---
A manifests/role/releases.pp
A modules/releases/manifests/backups.pp
A modules/releases/manifests/init.pp
A modules/releases/manifests/webserver.pp
4 files changed, 110 insertions(+), 0 deletions(-)
Approvals:
ArielGlenn: Looks good to me, approved
jenkins-bot: Verified
diff --git a/manifests/role/releases.pp b/manifests/role/releases.pp
new file mode 100644
index 0000000..535105a
--- /dev/null
+++ b/manifests/role/releases.pp
@@ -0,0 +1,34 @@
+class role::releases {
+ system::role { 'releases': description => 'Releases webserver' }
+
+ monitor_service {
+ 'http': description => 'HTTP',
+ check_command => 'check_http',
+ }
+
+ class { '::releases':
+ sitename => 'releases.wikimedia.org',
+ docroot => 'releases',
+ }
+
+ role::releases::access { 'brion': group => 'mobileupld' }
+ role::releases::access { 'csteipp': group => 'mwupld' }
+}
+
+class role::releases::groups {
+ group { 'mwupld':
+ ensure => 'present',
+ }
+ group { 'mobileupld':
+ ensure => 'present',
+ }
+}
+
+define role::releases::access ( $user=$title, $group='wikidev' ) {
+ require 'role::releases::groups'
+ require 'groups::wikidev'
+ require "accounts::${user}"
+ Class['groups::wikidev'] -> Class['role::releases::groups'] ->
+ Class["accounts::${user}"]
+ User<|title == $user|> { groups +> [ $group ] }
+}
diff --git a/modules/releases/manifests/backups.pp
b/modules/releases/manifests/backups.pp
new file mode 100644
index 0000000..ce5af77
--- /dev/null
+++ b/modules/releases/manifests/backups.pp
@@ -0,0 +1,4 @@
+class releases::backups {
+ include 'backup::host'
+ backup::set { 'srv-org-wikimedia': }
+}
diff --git a/modules/releases/manifests/init.pp
b/modules/releases/manifests/init.pp
new file mode 100644
index 0000000..240f9ba
--- /dev/null
+++ b/modules/releases/manifests/init.pp
@@ -0,0 +1,37 @@
+# Release server module for Wikimedia
+#
+# this module sets up a simple web server
+# that will serve static files
+#
+# production: https://releases.wikimedia.org
+#
+# requirements:
+#
+# - initial content must be manually copied into
+# /srv/org/wikimedia/releases
+# - ownership/perms of subdirs must be initially
+# be set appropriately for users to add content
+#
+# this sets up:
+#
+# - the apache site config
+# - the /srv/org/wikimedia/ subdir docroot
+#
+# Because this service is intended to live behind a
+# caching cluster which would handle ssh, it does not
+# install certs or configure apache for ssh
+
+class releases (
+ $sitename = undef,
+ $docroot = undef,
+ $server_admin = '[email protected]',
+) {
+
+ class { 'releases::webserver':
+ sitename => $sitename,
+ docroot => $docroot,
+ server_admin => $server_admin,
+ }
+
+ include 'releases::backups'
+}
diff --git a/modules/releases/manifests/webserver.pp
b/modules/releases/manifests/webserver.pp
new file mode 100644
index 0000000..724aa6c
--- /dev/null
+++ b/modules/releases/manifests/webserver.pp
@@ -0,0 +1,35 @@
+class releases::webserver (
+ $sitename = undef,
+ $docroot = undef,
+ $server_admin = undef,
+) {
+ file { '/srv/org':
+ ensure => directory,
+ owner => 'root',
+ group => 'root',
+ mode => '0755',
+ }
+ file { '/srv/org/wikimedia':
+ ensure => directory,
+ owner => 'root',
+ group => 'root',
+ mode => '0755',
+ }
+ file { "/srv/org/wikimedia/${docroot}":
+ ensure => directory,
+ owner => 'root',
+ group => 'root',
+ mode => '0755',
+ }
+
+ include 'webserver::apache'
+ @webserver::apache::module { ['rewrite']: }
+ @webserver::apache::site { $sitename:
+ docroot => "/srv/org/wikimedia/$docroot/",
+ server_admin => $server_admin,
+ require => [
+ Webserver::Apache::Module['rewrite'],
+ File['/srv/org/wikimedia/releases']
+ ],
+ }
+}
--
To view, visit https://gerrit.wikimedia.org/r/112424
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ife41e6f5c937e5af6b922cf118b7a7042dd794a9
Gerrit-PatchSet: 4
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: ArielGlenn <[email protected]>
Gerrit-Reviewer: ArielGlenn <[email protected]>
Gerrit-Reviewer: Faidon Liambotis <[email protected]>
Gerrit-Reviewer: Matanya <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits