]> gitweb.fluxo.info Git - puppet-ikiwiki.git/commitdiff
Adding parameters $description, $adminuser, $adminemail and $instance
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 7 Jan 2010 13:42:13 +0000 (11:42 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 7 Jan 2010 13:42:13 +0000 (11:42 -0200)
manifests/init.pp
templates/deploy.sh.erb
templates/ikiwiki.setup.erb

index c024e3e899483468493c9bb8fb62d79de0611fbe..b2ec3076420c262be26875340c0522874e46edaa 100644 (file)
@@ -15,7 +15,13 @@ class ikiwiki {
     mode    => 755,
   }
 
-  define instance($base_url = false, $ensure = 'present') {
+  define instance($base_url = false, $ensure = 'present', $description = false,
+                  $adminuser = 'yourname', $adminemail = 'me@example.org', $instance = 'ikiwiki') {
+
+    $desc = $decription ? {
+      false   => $name,
+      default => $description,
+    }
 
     $ikiwiki_base = $base_url ? {
       false   => $domain,
@@ -38,13 +44,13 @@ class ikiwiki {
           refreshonly => true,
         }
     
-        exec { "/usr/local/sbin/ikiwiki-deploy $name":
-          unless  => "/bin/sh -c '[ -f ${apache_sites_folder}/${name}/ikiwiki_src/index.mdw ]'",
+        exec { "/usr/local/sbin/ikiwiki-deploy $name $instance":
+          unless  => "/bin/sh -c '[ -f ${apache_sites_folder}/${name}/${instance}_src/index.mdw ]'",
           user    => root,
         }
     
-        if !defined(File["${apache_sites_folder}/${name}/ikiwiki_src"]) {
-          file { "${apache_sites_folder}/${name}/ikiwiki_src":
+        if !defined(File["${apache_sites_folder}/${name}/${instance}_src"]) {
+          file { "${apache_sites_folder}/${name}/${instance}_src":
             ensure  => directory,
             owner   => gitosis,
             group   => gitosis,
@@ -54,8 +60,8 @@ class ikiwiki {
           }
         }
 
-        if !defined(File["${apache_sites_folder}/${name}/ikiwiki"]) {
-          file { "${apache_sites_folder}/${name}/ikiwiki":
+        if !defined(File["${apache_sites_folder}/${name}/${instance}"]) {
+          file { "${apache_sites_folder}/${name}/${instance}":
             ensure  => directory,
             owner   => gitosis,
             group   => gitosis,
@@ -71,6 +77,14 @@ class ikiwiki {
             group   => root,
           }
         }
+
+       file { "${apache_sites_folder}/${name}/${instance}_src/.ikiwiki":
+         ensure  => directory,
+         owner   => www-data,
+         group   => www-data,
+         recurse => true,
+         require => File["${apache_sites_folder}/${name}/${instance}_src"],
+       }
       }
     }
   }
index 66c0f108e6c19ce77c626cd690458754480e1b45..69785d07cf7f4ef9f203687e04eb07cf071091a7 100644 (file)
@@ -1,14 +1,15 @@
 #!/bin/bash
 
 NAME="$1"
+INSTANCE="$2"
 BASE="<%= apache_sites_folder %>"
 SITE=$BASE/$NAME
 CONF="/etc/ikiwiki"
 OWNER="gitosis"
 GROUP="gitosis"
 
-if [ -z "$NAME" ]; then
-  echo "Usage:`basename $0` <site>"
+if [ -z "$INSTANCE" ]; then
+  echo "Usage:`basename $0` <site> <instance>"
 fi
 
 if [ ! -e "$CONF/$NAME" ]; then
@@ -16,10 +17,10 @@ if [ ! -e "$CONF/$NAME" ]; then
 fi
 
 # Setup source folder
-mkdir -p $SITE/ikiwiki_src/
+mkdir -p $SITE/"$INSTANCE"_src/
 
 # Create initial page
-echo > $SITE/ikiwiki_src/index.mdw <<EOF
+echo > $SITE/"$INSTANCE"_src/index.mdw <<EOF
 Welcome to your new wiki.
 
 All wikis are supposed to have a [[SandBox]], so this one does too.
@@ -30,10 +31,10 @@ This wiki is powered by [ikiwiki](http://ikiwiki.info).
 EOF
 
 # Create ikiwiki instance
-ikiwiki-makerepo git $SITE/ikiwiki_src/ /var/git/repositories/$NAME.git
+ikiwiki-makerepo git $SITE/"$INSTANCE"_src/ /var/git/repositories/$NAME.git
 touch /var/git/repositories/$NAME.git/git-daemon-export-ok
 ( cd /var/git/repositories/$NAME.git && git --bare update-server-info )
 ikiwiki --setup /etc/ikiwiki/$NAME.setup
 
 # Set permissions
-chown -R $OWNER.$GROUP $SITE/ikiwiki_src $SITE/ikiwiki /var/git/repositories/$NAME.git
+chown -R $OWNER.$GROUP $SITE/"$INSTANCE"_src $SITE/$INSTANCE /var/git/repositories/$NAME.git
index c42a7e39b75f93cd1d29201e7f2ac0439045391e..dae8047acf8bfe0180fd9faa9c15c26767a0c421 100644 (file)
@@ -6,9 +6,9 @@
 # Remember to re-run ikiwiki --setup any time you edit this file.
 
 use IkiWiki::Setup::Standard {
-  wikiname => "<%= name %>",
-       #adminuser => ["yourname", ],
-       adminemail => 'me@example.org',
+  wikiname => "<%= desc %>",
+  adminuser => ["<%= adminuser %>", ],
+  adminemail => '<%= adminemail %>',
 
        # Be sure to customise these..
   srcdir => "<%= apache_sites_folder %>/<%= name %>/ikiwiki_src",