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