Puppet Class: confluence::install
- Defined in:
- manifests/install.pp
Overview
Class: confluence::install
Install confluence, See README.md for more.
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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'manifests/install.pp', line 5
class confluence::install {
group { $confluence::group: ensure => present, gid => $confluence::gid } ->
user { $confluence::user:
comment => 'Confluence daemon account',
shell => $confluence::shell,
home => $confluence::homedir,
password => '*',
password_min_age => '0',
password_max_age => '99999',
managehome => true,
system => true,
uid => $confluence::uid,
gid => $confluence::gid,
}
if ! defined(File[$confluence::installdir]) {
file { $confluence::installdir:
ensure => 'directory',
owner => $confluence::user,
group => $confluence::group,
}
}
$file = "atlassian-${confluence::product}-${confluence::version}.${confluence::format}"
if $confluence::staging_or_deploy == 'staging' {
require staging
if ! defined(File[$confluence::webappdir]) {
file { $confluence::webappdir:
ensure => 'directory',
owner => $confluence::user,
group => $confluence::group,
}
}
staging::file { $file:
source => "${confluence::downloadURL}/${file}",
timeout => 1800,
} ->
staging::extract { $file:
target => $confluence::webappdir,
creates => "${confluence::webappdir}/conf",
strip => 1,
user => $confluence::user,
group => $confluence::group,
notify => Exec["chown_${confluence::webappdir}"],
before => File[$confluence::homedir],
require => [
File[$confluence::installdir],
User[$confluence::user],
File[$confluence::webappdir] ],
}
} elsif $confluence::staging_or_deploy == 'deploy' {
require deploy
deploy::file { $file:
target => $confluence::webappdir,
url => $confluence::downloadURL,
strip => true,
download_timout => 1800,
owner => $confluence::user,
group => $confluence::group,
notify => Exec["chown_${confluence::webappdir}"],
before => File[$confluence::homedir],
require => [ File[$confluence::installdir], User[$confluence::user] ],
}
} else {
fail('staging_or_deploy must equal "staging" or "deploy"')
}
file { $confluence::homedir:
ensure => 'directory',
owner => $confluence::user,
group => $confluence::group,
} ->
exec { "chown_${confluence::webappdir}":
command => "/bin/chown -R ${confluence::user}:${confluence::group} ${confluence::webappdir}",
refreshonly => true,
subscribe => User[$confluence::user]
} ->
file { '/etc/init.d/confluence':
content => template('confluence/confluence.initscript.erb'),
mode => '0755',
}
}
|