Puppet Class: kibana::install
- Defined in:
- manifests/install.pp
Overview
Class: kibana::install
This class installs kibana. It should not be directly called.
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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'manifests/install.pp', line 6
class kibana::install (
$version = $::kibana::version,
$base_url = $::kibana::base_url,
$tmp_dir = $::kibana::tmp_dir,
$install_path = $::kibana::install_path,
$group = $::kibana::group,
$user = $::kibana::user,
) {
$filename = $::architecture ? {
/(i386|x86$)/ => "kibana-${version}-linux-x86",
/(amd64|x86_64)/ => "kibana-${version}-linux-x64",
}
$service_provider = $::kibana::params::service_provider
$run_path = $::kibana::params::run_path
group { $group:
ensure => 'present',
system => true,
}
user { $user:
ensure => 'present',
system => true,
gid => $group,
home => $install_path,
require => Group[$group],
}
wget::fetch { 'kibana':
source => "${base_url}/${filename}.tar.gz",
destination => "${tmp_dir}/${filename}.tar.gz",
require => User[$user],
unless => "test -e ${install_path}/${filename}/LICENSE.txt",
}
exec { 'extract_kibana':
command => "tar -xzf ${tmp_dir}/${filename}.tar.gz -C ${install_path}",
path => ['/bin', '/sbin'],
creates => "${install_path}/${filename}",
notify => Exec['ensure_correct_permissions'],
require => Wget::Fetch['kibana'],
}
exec { 'ensure_correct_permissions':
command => "chown -R ${user}:${group} ${install_path}/${filename}",
path => ['/bin', '/sbin'],
refreshonly => true,
require => [
Exec['extract_kibana'],
User[$user],
],
}
file { "${install_path}/kibana":
ensure => 'link',
target => "${install_path}/${filename}",
require => Exec['extract_kibana'],
}
file { "${install_path}/kibana/installedPlugins":
ensure => directory,
owner => kibana,
group => kibana,
require => User['kibana'],
}
file { '/var/log/kibana':
ensure => directory,
owner => kibana,
group => kibana,
require => User['kibana'],
}
if $service_provider == 'init' {
file { 'kibana-init-script':
ensure => file,
path => '/etc/init.d/kibana',
content => template('kibana/kibana.legacy.service.lsbheader.erb', "kibana/${::kibana::params::init_script_osdependend}", 'kibana/kibana.legacy.service.maincontent.erb'),
mode => '0755',
notify => Class['::kibana::service'],
}
}
if $service_provider == 'systemd' {
file { 'kibana-init-script':
ensure => file,
path => "${::kibana::params::systemd_provider_path}/kibana.service",
content => template('kibana/kibana.service.erb'),
notify => Class['::kibana::service'],
}
file { 'kibana-run-dir':
ensure => directory,
path => $run_path,
owner => $user,
group => $group,
notify => Class['::kibana::service'],
}
file { 'kibana-tmpdir-d-conf':
ensure => file,
path => '/etc/tmpfiles.d/kibana.conf',
owner => root,
group => root,
content => template('kibana/kibana.tmpfiles.d.conf.erb'),
}
}
}
|