2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'manifests/setup.pp', line 2
class ratticdb::setup {
$url = $::ratticdb::url
$appFolder = $::ratticdb::appFolder
$ldap = $::ratticdb::ldap
$dbName = $::ratticdb::dbName
$dbUser = $::ratticdb::dbUser
$dbUserPwd = $::ratticdb::dbUserPwd
$dbHost = $::ratticdb::dbHost
$dbPort = $::ratticdb::dbPort
$version = $::ratticdb::version
$ldapServer = $::ratticdb::ldapServer
$userBase = $::ratticdb::userBase
$userFilter = $::ratticdb::userFilter
$groupBase = $::ratticdb::groupBase
$groupFilter = $::ratticdb::groupFilter
$groupType = $::ratticdb::groupType
$staff = $::ratticdb::staff
$baseDir = dirname($appFolder)
$dirTree = dirtree($baseDir)
ensure_resource('file', $dirTree, {'ensure' => 'directory'})
exec { 'wget' :
command => "wget https://github.com/tildaslash/RatticWeb/archive/v${version}.tar.gz",
cwd => $baseDir,
creates => "${baseDir}/v${version}.tar.gz",
path => '/usr/bin/',
require => File[$baseDir],
onlyif => "test ! -e ${appFolder}-${version}"
}
exec { 'extract' :
command => "tar -zxvf v${version}.tar.gz",
cwd => '/opt/apps',
creates => "/opt/apps/RatticWeb-${version}",
path => '/usr/bin/:/bin/',
require => Exec['wget'],
}
file {'link':
ensure => 'link',
path => $appFolder,
target => "${appFolder}-${version}",
require => Exec['extract'],
}
file { 'confFile':
ensure => 'file',
path => "${appFolder}/conf/local.cfg",
content => template('ratticdb/local.cfg.erb'),
require => File['link'],
}
file { "${appFolder}/static" :
ensure => 'directory',
owner => 'root',
group => 'root',
mode => '0775',
require => File['link'],
}
exec { 'setup':
command => "manage.py syncdb --noinput && manage.py migrate \
&& manage.py collectstatic --noinput && manage.py compilemessages",
cwd => $appFolder,
path => "/usr/bin/:/bin/:${appFolder}",
require => File['confFile'],
subscribe => File['confFile'],
refreshonly => true,
}
}
|