Puppet Class: mcmyadmin::install
- Inherits:
- mcmyadmin
- Defined in:
- manifests/install.pp
Overview
Class to handle the fetching and installation of mcmyadmin
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 |
# File 'manifests/install.pp', line 4
class mcmyadmin::install inherits mcmyadmin {
if $::mcmyadmin::install_arch == '64' {
$download_src = 'http://mcmyadmin.com/Downloads/MCMA2_glibc25.zip'
$install_cmd = "${::mcmyadmin::install_dir}/MCMA2_Linux_x86_64"
$mcmyadmin_exec = 'MCMA2_Linux_x86_64'
staging::file { 'mcmyadmin_etc.zip':
source => 'http://mcmyadmin.com/Downloads/etc.zip',
}->
staging::extract { 'mcmyadmin_etc.zip':
target => '/usr/local',
user => 'root',
group => '0',
creates => '/usr/local/etc/mono',
before => Staging::File['mcmyadmin.zip'],
}
}
else {
$download_src = 'http://mcmyadmin.com/Downloads/MCMA2-Latest.zip'
$install_cmd = "/usr/bin/env mono ${::mcmyadmin::install_dir}/McMyAdmin.exe"
$mcmyadmin_exec = 'McMyAdmin.exe'
}
staging::file { 'mcmyadmin.zip':
source => $download_src,
}->
staging::extract { 'mcmyadmin.zip':
target => $::mcmyadmin::install_dir,
user => $::mcmyadmin::user,
group => $::mcmyadmin::group,
creates => "${::mcmyadmin::install_dir}/${mcmyadmin_exec}",
}~>
exec { 'mcmyadmin_install':
command => "${install_cmd} ${::mcmyadmin::mcma_install_args} -nonotice -setpass ${::mcmyadmin::password} -configonly",
user => $::mcmyadmin::user,
refreshonly => true,
logoutput => true,
cwd => $::mcmyadmin::install_dir,
}
file_line { 'webserver_port':
path => "${::mcmyadmin::install_dir}/McMyAdmin.conf",
line => "Webserver.Port=${::mcmyadmin::webserver_port}",
match => 'Webserver.Port=.*',
require => Exec['mcmyadmin_install'],
}
file_line { 'webserver_addr':
path => "${::mcmyadmin::install_dir}/McMyAdmin.conf",
line => "Webserver.IPBinding=${::mcmyadmin::webserver_addr}",
match => 'Webserver.IPBinding=.*',
require => Exec['mcmyadmin_install'],
}
file_line { 'webserver_addr_local':
path => "${::mcmyadmin::install_dir}/McMyAdmin.conf",
line => "Server.Address=localhost:${::mcmyadmin::webserver_addr}",
match => 'Server.Address=localhost:.*',
require => Exec['mcmyadmin_install'],
}
}
|