Demon has uploaded a new change for review.

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


Change subject: Install apache & setup replication destination for repositories
......................................................................

Install apache & setup replication destination for repositories

Change-Id: Ic2f3a7fd82360c21845ac916db91f555806cbec0
---
M manifests/gerrit.pp
M manifests/role/gerrit.pp
M manifests/site.pp
A templates/apache/sites/git.wikimedia.org.erb
4 files changed, 134 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/57/59857/1

diff --git a/manifests/gerrit.pp b/manifests/gerrit.pp
index 5bc6a09..b905964 100644
--- a/manifests/gerrit.pp
+++ b/manifests/gerrit.pp
@@ -299,6 +299,31 @@
        apache_module { ssl: name => "ssl" }
 }
 
+# Setup apache for the git viewer and replicated git repos
+# Also needs gerrit::replicationdest installed
+class gerrit::gitviewer( $host, $ssl_cert="", $ssl_cert_key="", $ssl_ca="" ) {
+       file {
+               "/etc/apache2/sites-available/git.wikimedia.org":
+                       mode => 0644,
+                       owner => root,
+                       group => root,
+                       content => 
template('apache/sites/git.wikimedia.org.erb'),
+                       ensure => present;
+               "/var/lib/git":
+                       mode => 0644
+                       owner => gerritslave,
+                       group => gerritslave,
+                       ensure => directory,
+                       require => Systemuser["gerritslave"]
+       }
+
+       apache_site { gerrit: name => "gerrit.wikimedia.org" }
+       apache_module { rewrite: name => "rewrite" }
+       apache_module { proxy: name => "proxy" }
+       apache_module { proxy_http: name => "proxy_http" }
+       apache_module { ssl: name => "ssl" }
+}
+
 class gerrit::gitweb {
        package { [ "gitweb" ]:
                ensure => latest;
diff --git a/manifests/role/gerrit.pp b/manifests/role/gerrit.pp
index fa8f11e..586ed09 100644
--- a/manifests/role/gerrit.pp
+++ b/manifests/role/gerrit.pp
@@ -59,4 +59,17 @@
                        sshkey => 
"AAAAB3NzaC1yc2EAAAABIwAAAQEAxOlshfr3UaPr8gQ8UVskxHAGG9xb55xDyfqlK7vsAs/p+OXpRB4KZOxHWqI40FpHhW+rFVA0Ugk7vBK13oKCB435TJlHYTJR62qQNb2DVxi5rtvZ7DPnRRlAvdGpRft9JsoWdgsXNqRkkStbkA5cqotvVHDYAgzBnHxWPM8REokQVqil6S/yHkIGtXO5J7F6I1OvYCnG1d1GLT5nDt+ZeyacLpZAhrBlyFD6pCwDUhg4+H4O3HGwtoh5418U4cvzRgYOQQXsU2WW5nBQHE9LXVLoL6UeMYY4yMtaNw207zN6kXcMFKyTuF5qlF5whC7cmM4elhAO2snwIw4C3EyQgw=="
                }
        }
+
+       class production::gitviewer {
+               system_role { "role::gerrit::gitviewer": description => 
"Destination for gerrit replication" }
+
+               include role::gerrit::production::replicationdest
+
+               class { "gerrit::gitviewer":
+                       host => "git.wikimedia.org",
+                       ssl_cert => "star.wikimedia.org",
+                       ssl_cert_key => "star.wikimedia.org",
+                       ssl_ca => "Equifax_Secure_CA"
+               }
+       }
 }
diff --git a/manifests/site.pp b/manifests/site.pp
index a5fbd0d..df7ff3a 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -204,7 +204,7 @@
        include standard,
                groups::wikidev,
                accounts::demon,
-               role::gerrit::production::replicationdest
+               role::gerrit::production::gitviewer
 
        # full root for gerrit admin (RT-3698)
        sudo_user { "demon": privileges => ['ALL = NOPASSWD: ALL'] }
diff --git a/templates/apache/sites/git.wikimedia.org.erb 
b/templates/apache/sites/git.wikimedia.org.erb
new file mode 100644
index 0000000..316c7fc
--- /dev/null
+++ b/templates/apache/sites/git.wikimedia.org.erb
@@ -0,0 +1,95 @@
+#####################################################################
+#####################################################################
+### THIS FILE IS MANAGED BY PUPPET
+### puppet:///templates/apache/sites/git.wikimedia.org.erb
+#####################################################################
+# vim: filetype=apache
+
+LogFormat "%h %l %u %t \"%r\" %>s %O T=%Ts \"%{Referer}i\" \"%{User-Agent}i\"" 
combined_time
+
+NameVirtualHost *:80
+<VirtualHost *:80>
+       ServerAdmin [email protected]
+       ServerName <%= host %>
+
+       DocumentRoot /var/www
+       <Directory />
+               Options FollowSymLinks
+               AllowOverride None
+       </Directory>
+       <Directory /var/www/>
+               Options Indexes FollowSymLinks MultiViews
+               AllowOverride None
+               Order allow,deny
+               allow from all
+       </Directory>
+
+       ErrorLog /var/log/apache2/error.log
+
+       # Possible values include: debug, info, notice, warn, error, crit,
+       # alert, emerg.
+       LogLevel warn
+
+       CustomLog /var/log/apache2/access.log combined_time
+       ServerSignature Off
+
+       RewriteEngine on
+       RewriteCond %{SERVER_PORT} !^443$
+       RewriteRule ^/(.*)$ https://<%= host %>/$1 [L,R,NE]
+</VirtualHost>
+
+NameVirtualHost *:443
+<VirtualHost *:443>
+       ServerAdmin [email protected]
+       ServerName <%= host %>
+
+       SSLEngine on
+       SSLCertificateFile /etc/ssl/certs/<%= ssl_cert %>.pem
+       SSLCertificateKeyFile /etc/ssl/private/<%= ssl_cert_key %>.key
+       SSLCACertificateFile /etc/ssl/certs/<%= ssl_ca %>.pem
+
+       RedirectMatch ^/$ https://<%= host %>/r/
+       RedirectMatch ^/gitweb/(.*)$ https://<%= host %>/r/gitweb?p=$1
+
+       SetEnvIf User-Agent 80legs bad_browser
+       SetEnvIf User-Agent bingbot bad_browser
+
+       TimeOut 720
+
+       DocumentRoot /var/www
+       <Directory />
+               Options FollowSymLinks
+               AllowOverride None
+               Order deny,allow
+               deny from env=bad_browser
+               deny from 208.110.84.34
+       </Directory>
+       <Directory /var/www/>
+               Options Indexes FollowSymLinks MultiViews
+               AllowOverride None
+       </Directory>
+
+       ProxyRequests Off
+       ProxyVia Off
+       ProxyPreserveHost On
+
+       <Proxy *>
+               Order deny,allow
+               deny from env=bad_browser
+               deny from 208.110.84.34
+       </Proxy>
+
+       AllowEncodedSlashes NoDecode
+       RewriteEngine On
+       RewriteRule ^/(.*) http://127.0.0.1:8080/$1 [NE,P]
+
+       ErrorLog /var/log/apache2/error.log
+
+       # Possible values include: debug, info, notice, warn, error, crit,
+       # alert, emerg.
+       LogLevel warn
+
+       CustomLog /var/log/apache2/access.log combined_time
+       ServerSignature Off
+
+</VirtualHost>

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic2f3a7fd82360c21845ac916db91f555806cbec0
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Demon <[email protected]>

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

Reply via email to