Ori.livneh has submitted this change and it was merged.

Change subject: Provision a "staging" microsite for the transparency report
......................................................................


Provision a "staging" microsite for the transparency report

Provision a private microsite of the transparency report, served under /private
from files in the private transparency report Gerrit repository.

Bug: T138197
Change-Id: If35ba69c2c295c29b24b81f023e8954ae29e4e89
---
M modules/role/manifests/microsites/transparency.pp
M templates/apache/sites/transparency.wikimedia.org.erb
2 files changed, 43 insertions(+), 0 deletions(-)

Approvals:
  Ori.livneh: Verified; Looks good to me, approved



diff --git a/modules/role/manifests/microsites/transparency.pp 
b/modules/role/manifests/microsites/transparency.pp
index e031b8a..221ab5a 100644
--- a/modules/role/manifests/microsites/transparency.pp
+++ b/modules/role/manifests/microsites/transparency.pp
@@ -5,18 +5,48 @@
 #
 class role::microsites::transparency {
     include ::apache
+    include ::apache::mod::authnz_ldap
     include ::apache::mod::rewrite
     include ::apache::mod::headers
+
+    include ::passwords::misc::private_static_site
+    include ::passwords::ldap::production
+
     include base::firewall
 
     $repo_dir = '/srv/org/wikimedia/TransparencyReport'
     $docroot  = "${repo_dir}/build"
 
+    $private_repo_dir = "${repo_dir}-private"
+    $private_docroot = "${private_repo_dir}/build"
+
     git::clone { 'wikimedia/TransparencyReport':
         ensure    => latest,
         directory => $repo_dir,
     }
 
+    $user = $passwords::misc::private_static_site::user
+    $pass = $passwords::misc::private_static_site::pass
+
+    git::clone { 'wikimedia/TransparencyReport-private':
+        ensure    => latest,
+        origin    => 
"https://${user}:${pass}@gerrit.wikimedia.org/r/wikimedia/TransparencyReport-private";,
+        directory => $private_repo_dir,
+    }
+
+    # LDAP configuration. Interpolated into the Apache site template
+    # to provide mod_authnz_ldap-based user authentication.
+    $auth_ldap = {
+        name          => 'ops/wmf',
+        bind_dn       => 'cn=proxyagent,ou=profile,dc=wikimedia,dc=org',
+        bind_password => $passwords::ldap::production::proxypass,
+        url           => 'ldaps://ldap-labs.eqiad.wikimedia.org 
ldap-labs.codfw.wikimedia.org/ou=people,dc=wikimedia,dc=org?cn',
+        groups        => [
+            'cn=ops,ou=groups,dc=wikimedia,dc=org',
+            'cn=wmf,ou=groups,dc=wikimedia,dc=org',
+        ],
+    }
+
     apache::site { 'transparency.wikimedia.org':
         content => template('apache/sites/transparency.wikimedia.org.erb'),
     }
diff --git a/templates/apache/sites/transparency.wikimedia.org.erb 
b/templates/apache/sites/transparency.wikimedia.org.erb
index b733ee2..ad38f28 100644
--- a/templates/apache/sites/transparency.wikimedia.org.erb
+++ b/templates/apache/sites/transparency.wikimedia.org.erb
@@ -4,8 +4,21 @@
 <VirtualHost *:80>
     ServerName transparency.wikimedia.org
     DocumentRoot <%= @docroot %>
+    Alias /private <%= @private_docroot %>
 
     <Directory <%= @docroot %>>
         Require all granted
     </Directory>
+
+    <Directory <%= @private_docroot%>>
+      AuthName "<%= @auth_ldap['name'] %>"
+      AuthType Basic
+      AuthBasicProvider ldap
+      AuthLDAPBindDN <%= @auth_ldap['bind_dn'] %>
+      AuthLDAPBindPassword <%= @auth_ldap['bind_password'] %>
+      AuthLDAPURL "<%= @auth_ldap['url'] %>"
+      <% @auth_ldap['groups'].each do |group| -%>
+      Require ldap-group <%= group %>
+      <% end -%>
+    </Directory>
 </VirtualHost>

-- 
To view, visit https://gerrit.wikimedia.org/r/295192
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If35ba69c2c295c29b24b81f023e8954ae29e4e89
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to