Puppet Module to setup and manage influxdb
installation and resources.
Under Development! Currently very limited functionality: support of EL-Linux(CentOs) and some build-in ruby functions. Welcome Contribution!
install and start InfluxDb service.
class {'influxdb':}
or in hiera
classes:
- influxdb
note, not all parameters are introduced right now, Welcome Contribution!
see manifests/config.pp
for supported parameters. Otherwise you can do:
$parameter =
{ 'global' =>
{
'reporting-disabled' => true,
'bind-adress' => '127.0.0.1:8088',
},
'http' =>
{
'bind-address' => ':8086'
}
}
class{'influxdb':
config => $parameter,
}
or in hiera:
influxdb::config:
global:
reporting-disabled: true
http:
bind-address: ':8086'
by design, influxdb needs an "admin" user before you can enable http-auth in influxdb-config. So in order to manage this with puppet we need to pass "admin" creadentials to the influx class.. we would call this admin user - superuser
so call it like:
class {"influxdb":
auth_enabled => true,
auth_superuser => 'john',
auth_superpass => 'lennon',
}
all resource types using influx
cli command to communicate with influxdb. Because influx
cli command uses http interface of influxdb, we also need to do a http-auth, if this is enabled. So pass superuser
creadentials to all resource types, if http-auth is enabled.
create database
parameter
superuser
- by http-auth enabled, pass the admin user namesuperpass
- by http-auth enabled, pass the admin user password
influx_database{"testme2":
}
or if you use http-auth
influx_database{"testme2":
superuser => 'john',
superpass => 'lennon'
}
parameter
name
- namevar, name of the userpassword
- passwordadmin
- if the user is admin, default tofalse
database
- on which database grant privileges, relevant only for non-admin users. Requires database to be created.privileges
- privileges to grant, default to'ALL'
superuser
- by http-auth enabled, pass the admin user namesuperpass
- by http-auth enabled, pass the admin user password
influx_user{"homer":
password => "marge",
ensure => present,
database => "testme2"
}
- all custom resources have 20sec delay, in order to wait for influxdb to startup, if it was restarted just before.