wiki: Cleanup and refactoring

wiki::collab::base is now deprecated in favor of wiki::collab.
This commit is contained in:
Ossi Salmi 2013-04-05 12:58:42 +03:00
parent c59c057e31
commit f6d297c670

View file

@ -36,15 +36,13 @@ class wiki::moin {
source => "/usr/local/src/moin.patch", source => "/usr/local/src/moin.patch",
require => Util::Extract::Tar["/usr/local/src/moin"], require => Util::Extract::Tar["/usr/local/src/moin"],
} }
if $moin_package =~ /^moin-1\.9/ { exec { "moin-copy-htdocs":
exec { "moin-copy-htdocs": user => "root",
user => "root", path => "/bin:/usr/bin:/sbin:/usr/sbin",
path => "/bin:/usr/bin:/sbin:/usr/sbin", command => "cp -a /usr/local/src/moin/MoinMoin/web/static/htdocs /usr/local/src/moin/wiki",
command => "cp -a /usr/local/src/moin/MoinMoin/web/static/htdocs /usr/local/src/moin/wiki", creates => "/usr/local/src/moin/wiki/htdocs",
creates => "/usr/local/src/moin/wiki/htdocs", require => Util::Patch["/usr/local/src/moin"],
require => Util::Patch["/usr/local/src/moin"], before => Python::Setup::Install["/usr/local/src/moin"],
before => Python::Setup::Install["/usr/local/src/moin"],
}
} }
python::setup::install { "/usr/local/src/moin": python::setup::install { "/usr/local/src/moin":
require => Util::Patch["/usr/local/src/moin"], require => Util::Patch["/usr/local/src/moin"],
@ -67,7 +65,7 @@ class wiki::moin {
} }
# Fetch graphingwiki from svn. # Extract graphingwiki sources.
# #
class wiki::graphingwiki::common { class wiki::graphingwiki::common {
@ -121,9 +119,9 @@ class wiki::opencollab inherits wiki::graphingwiki::common {
} }
# Install collab. # Install Collab extensions.
# #
class wiki::collab inherits wiki::graphingwiki::common { class wiki::collabbackend inherits wiki::graphingwiki::common {
python::setup::install { "/usr/local/src/graphingwiki/collab": python::setup::install { "/usr/local/src/graphingwiki/collab":
require => Util::Extract::Tar["/usr/local/src/graphingwiki"], require => Util::Extract::Tar["/usr/local/src/graphingwiki"],
@ -153,7 +151,7 @@ class wiki::collab inherits wiki::graphingwiki::common {
# Conference domain for jabber extauth. # Conference domain for jabber extauth.
# Defaults to conference.$wiki_collab_jabberdomain. # Defaults to conference.$wiki_collab_jabberdomain.
# #
class wiki::collab::base { class wiki::collab {
include cairo::python include cairo::python
include igraph::python include igraph::python
@ -166,19 +164,23 @@ class wiki::collab::base {
include apache::mod::rewrite include apache::mod::rewrite
include apache::mod::wsgi include apache::mod::wsgi
include wiki::moin require wiki::moin
include wiki::graphingwiki require wiki::graphingwiki
include wiki::opencollab require wiki::opencollab
include wiki::collab require wiki::collabbackend
include user::system include user::system
realize(User["collab"], Group["collab"]) realize(User["collab"], Group["collab"])
exec { "usermod-www-data": exec { "usermod-collab":
path => "/bin:/usr/bin:/sbin:/usr/sbin", path => "/bin:/usr/bin:/sbin:/usr/sbin",
command => "usermod -a -G collab ${apache::sslserver::user}", command => "usermod -a -G collab ${apache::sslserver::user}",
unless => "id -n -G ${apache::sslserver::user} | grep '\\bcollab\\b'", unless => "id -n -G ${apache::sslserver::user} | grep '\\bcollab\\b'",
require => Group["collab"], require => Group["collab"],
notify => $::operatingsystem ? {
"ubuntu" => Service["apache2"],
default => Service["httpsd"],
},
} }
if $wiki_datadir { if $wiki_datadir {
@ -229,12 +231,7 @@ class wiki::collab::base {
owner => "collab", owner => "collab",
group => "collab", group => "collab",
seltype => "httpd_sys_rw_content_t", seltype => "httpd_sys_rw_content_t",
require => [ require => [ File["/srv/wikis"], User["collab"], Group["collab"] ],
File["/srv/wikis"],
User["collab"],
Group["collab"],
Class["wiki::moin", "wiki::collab"],
],
before => Exec["collab-create collab collab"], before => Exec["collab-create collab collab"],
} }
@ -253,9 +250,11 @@ class wiki::collab::base {
mode => "0660", mode => "0660",
owner => "collab", owner => "collab",
group => "collab", group => "collab",
source => [ "puppet:///private/wiki/collabfarm.py", source => [
"puppet:///files/wiki/collabfarm.py", "puppet:///private/wiki/collabfarm.py",
"/usr/local/src/graphingwiki/collab/config/collabfarm.py", ], "puppet:///files/wiki/collabfarm.py",
"/usr/local/src/graphingwiki/collab/config/collabfarm.py",
],
replace => false, replace => false,
seltype => "httpd_sys_rw_content_t", seltype => "httpd_sys_rw_content_t",
require => File["/srv/wikis/collab/config"], require => File["/srv/wikis/collab/config"],
@ -354,16 +353,13 @@ class wiki::collab::base {
before => Cron["collab-htaccess"], before => Cron["collab-htaccess"],
} }
if $wiki::moin::moin_package =~ /^moin-1\.9/ { wiki::collab::package { "moin-English--all_pages.zip":
wiki::collab::package { "moin-English--all_pages.zip": source => "/srv/wikis/collab/underlay/pages/LanguageSetup/attachments/English--all_pages.zip",
source => "/srv/wikis/collab/underlay/pages/LanguageSetup/attachments/English--all_pages.zip", require => Exec["collab-copy-underlay"],
require => Exec["collab-copy-underlay"],
}
} }
wiki::collab::package { "moin-CollabBase.zip": wiki::collab::package { "moin-CollabBase.zip":
source => "/usr/local/src/graphingwiki/collab/packages/CollabBase.zip", source => "/usr/local/src/graphingwiki/collab/packages/CollabBase.zip",
require => Class["wiki::collab"], require => Wiki::Collab::Package["moin-English--all_pages.zip"],
} }
cron { "collab-htaccess": cron { "collab-htaccess":
@ -373,7 +369,7 @@ class wiki::collab::base {
default => "/usr/bin/collab-htaccess", default => "/usr/bin/collab-htaccess",
}, },
user => "collab", user => "collab",
require => [ Class["wiki::collab"], File["/srv/wikis/collab/htdocs/.htaccess"], ] require => File["/srv/wikis/collab/htdocs/.htaccess"],
} }
define configwebhost() { define configwebhost() {
@ -402,6 +398,14 @@ class wiki::collab::base {
} }
class wiki::collab::base {
warning("wiki::collab::base is deprecated, include wiki::collab instead")
include wiki::collab
}
# Use ramdisk for collab cache. # Use ramdisk for collab cache.
# #
class wiki::collab::ramcache { class wiki::collab::ramcache {