ArielGlenn has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/112424

Change subject: module for releases webserver (mobile and mw tarballs)
......................................................................

module for releases webserver (mobile and mw tarballs)

Change-Id: Ife41e6f5c937e5af6b922cf118b7a7042dd794a9
---
A modules/releases/manifests/access.pp
A modules/releases/manifests/backups.pp
A modules/releases/manifests/groups.pp
A modules/releases/manifests/init.pp
A modules/releases/manifests/monitor.pp
A modules/releases/manifests/webserver.pp
6 files changed, 93 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/24/112424/1

diff --git a/modules/releases/manifests/access.pp 
b/modules/releases/manifests/access.pp
new file mode 100644
index 0000000..0d49a18
--- /dev/null
+++ b/modules/releases/manifests/access.pp
@@ -0,0 +1,8 @@
+define releases::access ( $user=$title, $group='wikidev' ) {
+    require 'releases::groups'
+    require 'groups::wikidev'
+    require "accounts::${user}"
+    Class['groups::wikidev'] -> Class['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/groups.pp 
b/modules/releases/manifests/groups.pp
new file mode 100644
index 0000000..8d7f318
--- /dev/null
+++ b/modules/releases/manifests/groups.pp
@@ -0,0 +1,8 @@
+class releases::groups {
+    group { 'mwupld':
+            ensure => 'present',
+    }
+    group { 'mobileupld':
+            ensure => 'present',
+    }
+}
diff --git a/modules/releases/manifests/init.pp 
b/modules/releases/manifests/init.pp
new file mode 100644
index 0000000..ec02df0
--- /dev/null
+++ b/modules/releases/manifests/init.pp
@@ -0,0 +1,35 @@
+# 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/releases docroot
+# - users and groups access to add content
+#
+# 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 {
+
+    system::role { 'releases': description => 'Releases webserver' }
+
+    include 'releases::webserver'
+    include 'releases::backups'
+    include 'releases::monitor'
+
+    releases::access { 'brion': group => 'mobileupld' }
+    releases::access { 'csteipp': group => 'mwupld' }
+}
diff --git a/modules/releases/manifests/monitor.pp 
b/modules/releases/manifests/monitor.pp
new file mode 100644
index 0000000..6c53c88
--- /dev/null
+++ b/modules/releases/manifests/monitor.pp
@@ -0,0 +1,6 @@
+class releases::monitor {
+    monitor_service {
+        'http': description => 'HTTP',
+        check_command       => 'check_http',
+    }
+}
diff --git a/modules/releases/manifests/webserver.pp 
b/modules/releases/manifests/webserver.pp
new file mode 100644
index 0000000..eadd158
--- /dev/null
+++ b/modules/releases/manifests/webserver.pp
@@ -0,0 +1,32 @@
+class releases::webserver {
+
+    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/releases':
+        ensure => directory,
+        owner  => 'root',
+        group  => 'root',
+        mode   => '0755',
+    }
+
+    include 'webserver::apache'
+    @webserver::apache::module { ['rewrite']: }
+    @webserver::apache::site { 'releases.wikimedia.org':
+        docroot      => '/srv/org/wikimedia/releases/',
+        server_admin => '[email protected]',
+        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: newchange
Gerrit-Change-Id: Ife41e6f5c937e5af6b922cf118b7a7042dd794a9
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: ArielGlenn <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to