config/puppet-manifests/src/modules/platform/manifests/influxdb.pp

84 lines
2.0 KiB
Puppet

class platform::influxdb::params (
$bind_address = undef,
$database = undef,
$typesdb = undef,
$batch_size = undef,
$batch_pending = undef,
$batch_timeout = undef,
$read_buffer = undef,
) {}
class platform::influxdb
inherits ::platform::influxdb::params {
user { 'influxdb': ensure => present, } ->
group { 'influxdb': ensure => present, } ->
# make a pid dir for influxdb username and group
file { "/var/run/influxdb":
ensure => 'directory',
owner => 'influxdb',
group => 'influxdb',
mode => '0755',
} ->
# make a log dir for influxdb username and group
file { "/var/log/influxdb":
ensure => 'directory',
owner => 'influxdb',
group => 'influxdb',
mode => '0755',
} ->
# make a lib dir for influxdb username and group
file { "/var/lib/influxdb":
ensure => 'directory',
owner => 'influxdb',
group => 'influxdb',
mode => '0755',
} -> # now configure influxdb
file { "/etc/influxdb/influxdb.conf":
ensure => 'present',
replace => true,
content => template('platform/influxdb.conf.erb'),
} -> # now make sure that influxdb is started
# ensure that influxdb is running
service { 'influxdb':
ensure => running,
enable => true,
provider => 'systemd'
} -> # now ask pmon to monitor the process
# ensure pmon soft link for process monitoring
file { "/etc/pmon.d/influxdb.conf":
ensure => 'link',
target => "/etc/influxdb/influxdb.conf.pmon",
owner => 'root',
group => 'root',
mode => '0600',
}
}
class platform::influxdb::runtime {
include ::platform::influxdb
}
class platform::influxdb::logrotate::params (
$log_file_name = undef,
$log_file_size = undef,
$log_file_rotate = undef,
) {}
class platform::influxdb::logrotate
inherits ::platform::influxdb::logrotate::params {
file { "/etc/logrotate.d/influxdb":
ensure => 'present',
replace => true,
content => template('platform/logrotate.erb'),
}
}