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

Reply via email to