Ori.livneh has submitted this change and it was merged.
Change subject: gitblit: convert into a module
......................................................................
gitblit: convert into a module
Change-Id: Ibd528f8f2d2c29e6cd4fd0ac2ba08c43a8ea989c
---
D manifests/misc/gitblit.pp
M manifests/role/gitblit.pp
R modules/gitblit/files/gitblit-ubuntu
R modules/gitblit/files/gitblit.properties
R modules/gitblit/files/header.md
A modules/gitblit/manifests/init.pp
A modules/gitblit/manifests/monitor.pp
R modules/gitblit/templates/git.wikimedia.org.erb
8 files changed, 112 insertions(+), 80 deletions(-)
Approvals:
Ori.livneh: Looks good to me, approved
jenkins-bot: Verified
diff --git a/manifests/misc/gitblit.pp b/manifests/misc/gitblit.pp
deleted file mode 100644
index be689fe..0000000
--- a/manifests/misc/gitblit.pp
+++ /dev/null
@@ -1,73 +0,0 @@
-# manifests/gitblit.pp
-# manifest to setup a gitblit instance
-
-# Setup apache for the git viewer and replicated git repos
-# Also needs gerrit::replicationdest installed
-class gitblit::instance($host,
- $user = "gitblit",
- $git_repo_owner="gerritslave",
- $ssl_cert="",
- $ssl_cert_key="") {
-
- include webserver::apache,
- nrpe
-
- generic::systemuser { $user: name => $user }
-
- file {
- "/etc/apache2/sites-available/git.wikimedia.org":
- mode => 0444,
- owner => root,
- group => root,
- content =>
template('apache/sites/git.wikimedia.org.erb'),
- ensure => present;
- "/var/lib/git":
- mode => 0644,
- owner => $git_repo_owner,
- group => $git_repo_owner,
- ensure => directory,
- require => User[$git_repo_owner];
- "/var/lib/${user}/data/gitblit.properties":
- mode => 0444,
- owner => $user,
- group => $user,
- source => "puppet:///files/gitblit/gitblit.properties",
- require => Generic::Systemuser[$user];
- "/var/lib/${user}/data/header.md":
- mode => 0444,
- owner => $user,
- group => $user,
- source => "puppet:///files/gitblit/header.md",
- require => Generic::Systemuser[$user];
- "/etc/init.d/gitblit":
- mode => 0554,
- owner => $user,
- group => $user,
- source => "puppet:///files/gitblit/gitblit-ubuntu",
- require => Generic::Systemuser[$user];
- "/var/www/robots.txt":
- mode => 0444,
- owner => root,
- group => root,
- content => "User-agent: *\nDisallow: /\n";
- }
-
- service {
- "gitblit":
- subscribe =>
File["/var/lib/${user}/data/gitblit.properties"],
- enable => true,
- ensure => running,
- require => Generic::Systemuser[$user];
- }
- nrpe::monitor_service { "gitblit":
- description => "gitblit process",
- nrpe_command => "/usr/lib/nagios/plugins/check_procs -w 1:1 -c
1:1 --ereg-argument-array '^/usr/bin/java .*-jar gitblit.jar'"
- }
-
- apache_site { git: name => "git.wikimedia.org" }
- apache_module { headers: name => "headers" }
- apache_module { rewrite: name => "rewrite" }
- apache_module { proxy: name => "proxy" }
- apache_module { proxy_http: name => "proxy_http" }
- apache_module { ssl: name => "ssl" }
-}
diff --git a/manifests/role/gitblit.pp b/manifests/role/gitblit.pp
index 567424c..0f75c4c 100644
--- a/manifests/role/gitblit.pp
+++ b/manifests/role/gitblit.pp
@@ -1,14 +1,14 @@
# manifests/role/gitblit.pp
class role::gitblit {
- system::role { "role::gitblit": description => "Gitblit, a git viewer" }
+ system::role { 'role::gitblit': description => 'Gitblit, a git viewer' }
include role::gerrit::production::replicationdest
- class { "gitblit::instance":
- host => "git.wikimedia.org",
- ssl_cert => "git.wikimedia.org",
- ssl_cert_key => "git.wikimedia.org"
+ class { 'gitblit::instance':
+ host => 'git.wikimedia.org',
+ ssl_cert => 'git.wikimedia.org',
+ ssl_cert_key => 'git.wikimedia.org'
}
# Firewall GitBlit, it should be accessed from localhost or Varnish
diff --git a/files/gitblit/gitblit-ubuntu b/modules/gitblit/files/gitblit-ubuntu
similarity index 100%
rename from files/gitblit/gitblit-ubuntu
rename to modules/gitblit/files/gitblit-ubuntu
diff --git a/files/gitblit/gitblit.properties
b/modules/gitblit/files/gitblit.properties
similarity index 100%
rename from files/gitblit/gitblit.properties
rename to modules/gitblit/files/gitblit.properties
diff --git a/files/gitblit/header.md b/modules/gitblit/files/header.md
similarity index 100%
rename from files/gitblit/header.md
rename to modules/gitblit/files/header.md
diff --git a/modules/gitblit/manifests/init.pp
b/modules/gitblit/manifests/init.pp
new file mode 100644
index 0000000..5ea3269
--- /dev/null
+++ b/modules/gitblit/manifests/init.pp
@@ -0,0 +1,97 @@
+# manifest to setup a gitblit instance
+
+# Setup apache for the git viewer and replicated git repos
+# Also needs gerrit::replicationdest installed
+class gitblit(
+ $host = '',
+ $git_repo_owner = 'gerritslave',
+ $ssl_cert = '',
+ $ssl_cert_key = '',
+) {
+
+ include webserver::apache
+ include gitblit::monitor
+
+ group { 'gitblit':
+ ensure => present,
+ }
+
+ user { 'gitblit':
+ ensure => present,
+ gid => 'gitblit',
+ shell => '/bin/false',
+ home => '/nonexistent',
+ system => true,
+ managehome => false,
+ }
+
+ file { "/etc/apache2/sites-available/${host}":
+ ensure => present,
+ content => template("gitblit/${host}.erb"),
+ }
+
+ file { '/var/lib/git':
+ ensure => directory,
+ mode => '0644',
+ owner => $git_repo_owner,
+ group => $git_repo_owner,
+ }
+
+ file { '/var/lib/gitblit/data/gitblit.properties':
+ owner => 'gitblit',
+ group => 'gitblit',
+ mode => '0444',
+ source => 'puppet:///modules/gitblit/gitblit.properties',
+ }
+
+ file { '/var/lib/gitblit/data/header.md':
+ owner => 'gitblit',
+ group => 'gitblit',
+ mode => '0444',
+ source => 'puppet:///modules/gitblit/header.md',
+ }
+
+ file { '/etc/init.d/gitblit':
+ mode => '0554',
+ owner => 'gitblit',
+ group => 'gitblit',
+ source => 'puppet:///modules/gitblit/gitblit-ubuntu',
+ }
+
+ file { '/var/www/robots.txt':
+ mode => '0444',
+ owner => 'root',
+ group => 'root',
+ content => "User-agent: *\nDisallow: /\n",
+ }
+
+ service { 'gitblit':
+ ensure => running,
+ subscribe => File['/var/lib/gitblit/data/gitblit.properties'],
+ enable => true,
+ }
+
+ apache_site { 'git':
+ name => $host,
+ }
+
+ apache_module { 'headers':
+ name => 'headers',
+ }
+
+ apache_module { 'rewrite':
+ name => 'rewrite',
+ }
+
+ apache_module { 'proxy':
+ name => 'proxy',
+ }
+
+ apache_module { 'proxy_http':
+ name => 'proxy_http',
+ }
+
+ apache_module { 'ssl':
+ name => 'ssl',
+ }
+}
diff --git a/modules/gitblit/manifests/monitor.pp
b/modules/gitblit/manifests/monitor.pp
new file mode 100644
index 0000000..e1168f7
--- /dev/null
+++ b/modules/gitblit/manifests/monitor.pp
@@ -0,0 +1,8 @@
+class gitblit::monitor {
+ include nrpe
+
+ nrpe::monitor_service { 'gitblit':
+ description => 'gitblit process',
+ nrpe_command => "/usr/lib/nagios/plugins/check_procs -w 1:1 -c 1:1
--ereg-argument-array '^/usr/bin/java .*-jar gitblit.jar'"
+ }
+}
diff --git a/templates/apache/sites/git.wikimedia.org.erb
b/modules/gitblit/templates/git.wikimedia.org.erb
similarity index 96%
rename from templates/apache/sites/git.wikimedia.org.erb
rename to modules/gitblit/templates/git.wikimedia.org.erb
index 60abc56..db76fe5 100644
--- a/templates/apache/sites/git.wikimedia.org.erb
+++ b/modules/gitblit/templates/git.wikimedia.org.erb
@@ -1,7 +1,7 @@
#####################################################################
#####################################################################
### THIS FILE IS MANAGED BY PUPPET
-### puppet:///templates/apache/sites/git.wikimedia.org.erb
+### puppet:///modules/gitblit/templates/git.wikimedia.org.erb
#####################################################################
# vim: filetype=apache
@@ -10,7 +10,7 @@
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
- ServerName <%= host %>
+ ServerName <%= @host %>
DocumentRoot /var/www
<Directory />
--
To view, visit https://gerrit.wikimedia.org/r/107555
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibd528f8f2d2c29e6cd4fd0ac2ba08c43a8ea989c
Gerrit-PatchSet: 9
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Matanya <[email protected]>
Gerrit-Reviewer: Alexandros Kosiaris <[email protected]>
Gerrit-Reviewer: Andrew Bogott <[email protected]>
Gerrit-Reviewer: Chad <[email protected]>
Gerrit-Reviewer: Dzahn <[email protected]>
Gerrit-Reviewer: Faidon Liambotis <[email protected]>
Gerrit-Reviewer: Matanya <[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