Deploy abusehelper and wiki sources via puppet instead of svn
This commit is contained in:
parent
b7be3a0c09
commit
a97cf92b2b
4 changed files with 165 additions and 51 deletions
24
abusehelper/Makefile
Normal file
24
abusehelper/Makefile
Normal file
|
@ -0,0 +1,24 @@
|
|||
AHELPERURL = http://abusehelper.googlecode.com/svn/trunk
|
||||
AHELPER = $(shell svn info $(AHELPERURL) | awk '/^Revision:/ { print $$2 }')
|
||||
AHELPERSRC = /usr/local/src/abusehelper-$(AHELPER)
|
||||
OUT = /srv/puppet/files/common/packages
|
||||
|
||||
all: tarball
|
||||
|
||||
tarball: $(OUT)/abusehelper.tar.gz
|
||||
|
||||
$(AHELPERSRC):
|
||||
( umask 022 ; mkdir -p $(AHELPERSRC) ; cd $(AHELPERSRC) && \
|
||||
svn export -r $(AHELPER) $(AHELPERURL) abusehelper )
|
||||
|
||||
$(OUT)/abusehelper-$(AHELPER).tar.gz: $(AHELPERSRC)
|
||||
( umask 022 ; cd $(AHELPERSRC) && \
|
||||
tar zcvf $(OUT)/abusehelper-$(AHELPER).tar.gz abusehelper )
|
||||
|
||||
$(OUT)/abusehelper.tar.gz: $(OUT)/abusehelper-$(AHELPER).tar.gz
|
||||
( umask 022 ; cd $(OUT) && \
|
||||
ln -fs abusehelper-$(AHELPER).tar.gz abusehelper.tar.gz )
|
||||
|
||||
clean: override AHELPER = *
|
||||
clean:
|
||||
rm -fr $(AHELPERSRC)
|
|
@ -2,22 +2,25 @@
|
|||
#
|
||||
class abusehelper {
|
||||
|
||||
if !$abusehelper_revision {
|
||||
fail("\$abusehelper_revision must be set.")
|
||||
}
|
||||
|
||||
package { [ "python-pyme", "python-tz" ]:
|
||||
ensure => installed,
|
||||
}
|
||||
|
||||
include svn::client
|
||||
svn::export { "/usr/local/src/abusehelper":
|
||||
source => "http://abusehelper.googlecode.com/svn/trunk",
|
||||
ensure => $abusehelper_revision,
|
||||
file { "/usr/local/src/abusehelper.tar.gz":
|
||||
ensure => present,
|
||||
mode => 0644,
|
||||
owner => root,
|
||||
group => root,
|
||||
source => "puppet:///files/packages/abusehelper.tar.gz",
|
||||
links => follow,
|
||||
}
|
||||
util::extract::tar { "/usr/local/src/abusehelper":
|
||||
strip => 1,
|
||||
source => "/usr/local/src/abusehelper.tar.gz",
|
||||
require => File["/usr/local/src/abusehelper.tar.gz"],
|
||||
}
|
||||
|
||||
python::setup::install { "/usr/local/src/abusehelper":
|
||||
require => Svn::Export["/usr/local/src/abusehelper"],
|
||||
require => Util::Extract::Tar["/usr/local/src/abusehelper"],
|
||||
}
|
||||
|
||||
include user::system
|
||||
|
|
34
wiki/Makefile
Normal file
34
wiki/Makefile
Normal file
|
@ -0,0 +1,34 @@
|
|||
GWIKIURL = http://svn.graphingwiki.webfactional.com/trunk
|
||||
GWIKI = $(shell svn info $(GWIKIURL) | awk '/^Revision:/ { print $$2 }')
|
||||
GWIKISRC = /usr/local/src/graphingwiki-$(GWIKI)
|
||||
MOIN = 1.8.8
|
||||
MOINURL = http://static.moinmo.in/files/moin-$(MOIN).tar.gz
|
||||
OUT = /srv/puppet/files/common/packages
|
||||
|
||||
all: tarball
|
||||
|
||||
tarball: $(OUT)/graphingwiki.tar.gz $(OUT)/moin.tar.gz
|
||||
|
||||
$(GWIKISRC):
|
||||
( umask 022 ; mkdir -p $(GWIKISRC) && cd $(GWIKISRC) && \
|
||||
svn export -r $(GWIKI) $(GWIKIURL) graphingwiki )
|
||||
|
||||
$(OUT)/graphingwiki-$(GWIKI).tar.gz: $(GWIKISRC)
|
||||
( umask 022 ; mkdir -p $(OUT) && cd $(GWIKISRC) && \
|
||||
tar zcvf $(OUT)/graphingwiki-$(GWIKI).tar.gz graphingwiki )
|
||||
|
||||
$(OUT)/graphingwiki.tar.gz: $(OUT)/graphingwiki-$(GWIKI).tar.gz
|
||||
( umask 022 ; cd $(OUT) && \
|
||||
ln -fs graphingwiki-$(GWIKI).tar.gz graphingwiki.tar.gz )
|
||||
|
||||
$(OUT)/moin-$(MOIN).tar.gz:
|
||||
( umask 022 ; mkdir -p $(OUT) && cd $(OUT) && \
|
||||
wget -N $(MOINURL) )
|
||||
|
||||
$(OUT)/moin.tar.gz: $(OUT)/moin-$(MOIN).tar.gz
|
||||
( umask 022 ; cd $(OUT) && \
|
||||
ln -fs moin-$(MOIN).tar.gz moin.tar.gz )
|
||||
|
||||
clean: override GWIKI = *
|
||||
clean:
|
||||
rm -fr $(GWIKISRC)
|
|
@ -1,41 +1,34 @@
|
|||
# Install MoinMoin.
|
||||
#
|
||||
# === Global variables
|
||||
#
|
||||
# $wiki_moin_version:
|
||||
# MoinMoin version number.
|
||||
#
|
||||
class wiki::moin {
|
||||
|
||||
if !$wiki_moin_version {
|
||||
fail("\$wiki_moin_version must be set.")
|
||||
}
|
||||
|
||||
custom::file { "/usr/local/src/moin-${wiki_moin_version}.tar.gz":
|
||||
file { "/usr/local/src/moin.tar.gz":
|
||||
ensure => present,
|
||||
mode => 0644,
|
||||
owner => root,
|
||||
group => root,
|
||||
source => "http://static.moinmo.in/files/moin-${wiki_moin_version}.tar.gz",
|
||||
source => "puppet:///files/packages/moin.tar.gz",
|
||||
links => follow,
|
||||
}
|
||||
file { "/usr/local/src/moin-${wiki_moin_version}.patch":
|
||||
file { "/usr/local/src/moin.patch":
|
||||
ensure => present,
|
||||
mode => 0644,
|
||||
owner => root,
|
||||
group => root,
|
||||
source => "puppet:///files/wiki/moin-${wiki_moin_version}.patch",
|
||||
source => "puppet:///files/packages/moin.patch",
|
||||
links => follow,
|
||||
}
|
||||
util::extract::tar { "/usr/local/src/moin-${wiki_moin_version}":
|
||||
util::extract::tar { "/usr/local/src/moin":
|
||||
strip => 1,
|
||||
source => "/usr/local/src/moin-${wiki_moin_version}.tar.gz",
|
||||
require => Custom::File["/usr/local/src/moin-${wiki_moin_version}.tar.gz"],
|
||||
source => "/usr/local/src/moin.tar.gz",
|
||||
require => File["/usr/local/src/moin.tar.gz"],
|
||||
}
|
||||
util::patch { "/usr/local/src/moin-${wiki_moin_version}":
|
||||
source => "/usr/local/src/moin-${wiki_moin_version}.patch",
|
||||
require => Util::Extract::Tar["/usr/local/src/moin-${wiki_moin_version}"],
|
||||
util::patch { "/usr/local/src/moin":
|
||||
source => "/usr/local/src/moin.patch",
|
||||
require => Util::Extract::Tar["/usr/local/src/moin"],
|
||||
}
|
||||
python::setup::install { "/usr/local/src/moin-${wiki_moin_version}":
|
||||
require => Util::Patch["/usr/local/src/moin-${wiki_moin_version}"],
|
||||
python::setup::install { "/usr/local/src/moin":
|
||||
require => Util::Patch["/usr/local/src/moin"],
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -43,21 +36,20 @@ class wiki::moin {
|
|||
|
||||
# Fetch graphingwiki from svn.
|
||||
#
|
||||
# === Global variables
|
||||
#
|
||||
# $wiki_gwiki_revision:
|
||||
# Graphingwiki revision.
|
||||
#
|
||||
class wiki::graphingwiki::common {
|
||||
|
||||
if !$wiki_graphingwiki_revision {
|
||||
fail("\$wiki_graphingwiki_revision must be set.")
|
||||
file { "/usr/local/src/graphingwiki.tar.gz":
|
||||
ensure => directory,
|
||||
mode => 0644,
|
||||
owner => root,
|
||||
group => root,
|
||||
source => "puppet:///files/packages/graphingwiki.tar.gz",
|
||||
links => follow,
|
||||
}
|
||||
|
||||
include svn::client
|
||||
svn::export { "/usr/local/src/graphingwiki":
|
||||
source => "http://svn.graphingwiki.webfactional.com/trunk",
|
||||
ensure => $wiki_gwiki_revision,
|
||||
util::extract::tar { "/usr/local/src/graphingwiki":
|
||||
strip => 1,
|
||||
source => "/usr/local/src/graphingwiki.tar.gz",
|
||||
require => File["/usr/local/src/graphingwiki.tar.gz"],
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -68,7 +60,7 @@ class wiki::graphingwiki::common {
|
|||
class wiki::graphingwiki inherits wiki::graphingwiki::common {
|
||||
|
||||
python::setup::install { "/usr/local/src/graphingwiki/graphingwiki":
|
||||
require => Svn::Export["/usr/local/src/graphingwiki"],
|
||||
require => Util::Extract::Tar["/usr/local/src/graphingwiki"],
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -79,7 +71,7 @@ class wiki::graphingwiki inherits wiki::graphingwiki::common {
|
|||
class wiki::opencollab inherits wiki::graphingwiki::common {
|
||||
|
||||
python::setup::install { "/usr/local/src/graphingwiki/opencollab":
|
||||
require => Svn::Export["/usr/local/src/graphingwiki"],
|
||||
require => Util::Extract::Tar["/usr/local/src/graphingwiki"],
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -90,7 +82,7 @@ class wiki::opencollab inherits wiki::graphingwiki::common {
|
|||
class wiki::collab inherits wiki::graphingwiki::common {
|
||||
|
||||
python::setup::install { "/usr/local/src/graphingwiki/collab":
|
||||
require => Svn::Export["/usr/local/src/graphingwiki"],
|
||||
require => Util::Extract::Tar["/usr/local/src/graphingwiki"],
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -172,13 +164,52 @@ class wiki::collab::base {
|
|||
mode => 2660,
|
||||
owner => collab,
|
||||
group => collab,
|
||||
require => [ File["/srv/wikis"], User["collab"], Group["collab"], ],
|
||||
require => [ File["/srv/wikis"], User["collab"], Group["collab"],
|
||||
Python::Setup::Install["/usr/local/src/graphingwiki/collab"],
|
||||
Python::Setup::Install["/usr/local/src/moin"], ],
|
||||
}
|
||||
|
||||
File["/srv/wikis/collab/underlay"] {
|
||||
source => "/usr/local/share/moin/underlay",
|
||||
recurse => true,
|
||||
exec { "collab-copy-underlay":
|
||||
user => collab,
|
||||
group => collab,
|
||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
||||
cwd => $operatingsystem ? {
|
||||
ubuntu => "/usr/local/share/moin/underlay",
|
||||
default => "/usr/share/moin/underlay",
|
||||
},
|
||||
command => "cp -R * /srv/wikis/collab/underlay && chmod -R g=u,o-rwx /srv/wikis/collab/underlay/*",
|
||||
creates => "/srv/wikis/collab/underlay/pages",
|
||||
require => File["/srv/wikis/collab/underlay"],
|
||||
}
|
||||
|
||||
file { "/srv/wikis/collab/config/collabfarm.py":
|
||||
ensure => present,
|
||||
mode => 0660,
|
||||
owner => collab,
|
||||
group => collab,
|
||||
source => "/usr/local/src/graphingwiki/collab/config/collabfarm.py",
|
||||
replace => false,
|
||||
require => File["/srv/wikis/collab/config"],
|
||||
}
|
||||
|
||||
file { "/srv/wikis/collab/config/intermap.txt":
|
||||
ensure => present,
|
||||
mode => 0660,
|
||||
owner => collab,
|
||||
group => collab,
|
||||
source => "/usr/local/src/graphingwiki/collab/config/intermap.txt",
|
||||
replace => false,
|
||||
require => File["/srv/wikis/collab/config"],
|
||||
}
|
||||
|
||||
file { "/srv/wikis/collab/config/logging.conf":
|
||||
ensure => present,
|
||||
mode => 0660,
|
||||
owner => collab,
|
||||
group => collab,
|
||||
source => "/usr/local/src/graphingwiki/collab/config/logging.conf",
|
||||
replace => false,
|
||||
require => File["/srv/wikis/collab/config"],
|
||||
}
|
||||
|
||||
file { "/srv/wikis/collab/htdocs/.htaccess":
|
||||
|
@ -187,9 +218,28 @@ class wiki::collab::base {
|
|||
owner => collab,
|
||||
group => collab,
|
||||
source => "puppet:///wiki/htaccess",
|
||||
replace => false,
|
||||
require => File["/srv/wikis/collab/htdocs"],
|
||||
}
|
||||
|
||||
file { "/etc/local/collab":
|
||||
ensure => directory,
|
||||
mode => 0755,
|
||||
owner => root,
|
||||
group => root,
|
||||
}
|
||||
|
||||
file { "/etc/local/collab/collab.ini":
|
||||
ensure => present,
|
||||
mode => 0644,
|
||||
owner => root,
|
||||
group => root,
|
||||
source => "/usr/local/src/graphingwiki/collab/config/collab.ini",
|
||||
replace => false,
|
||||
require => [ File["/etc/local/collab"],
|
||||
Python::Setup::Install["/usr/local/src/graphingwiki/collab"], ],
|
||||
}
|
||||
|
||||
if !$wiki_collab_fqdn {
|
||||
$wiki_collab_fqdn = $homename
|
||||
}
|
||||
|
@ -202,7 +252,10 @@ class wiki::collab::base {
|
|||
|
||||
file { "/srv/www/https/${wiki_collab_fqdn}/moin_static":
|
||||
ensure => link,
|
||||
target => "/usr/local/share/moin/htdocs",
|
||||
target => $operatingsystem ? {
|
||||
ubuntu => "/usr/local/share/moin/htdocs",
|
||||
default => "/usr/share/moin/htdocs",
|
||||
},
|
||||
require => File["/srv/www/https/${wiki_collab_fqdn}"],
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue