influxdb

Manage InfluxDB service, databases, users. Supports Auth. Using ruby resource types for InfluxDB operations.

quadriq

quadriq

6,893 downloads

3,471 latest version

2.6 quality score

Version information

  • 0.2.2 (latest)
  • 0.2.1
  • 0.2.0
  • 0.1.0
released Mar 1st 2019
This version is compatible with:
  • Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.0.0 < 6.0.0
  • CentOS
    ,
    OracleLinux
    ,
    RedHat
    ,
    Scientific

Start using this module

Documentation

quadriq/influxdb — version 0.2.2 Mar 1st 2019

Puppet InfluxDB

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!

Quick Start

install and start InfluxDb service.

class {'influxdb':}

or in hiera

classes:
 - influxdb

InfluxDB config Parameter

note, not all parameters are introduced right now, Welcome Contribution!

see manifests/config.pp for supported parameters. Here is a usage example:

$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'

Enable http-auth

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',
}

Custom resource-types

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.

influx_database

create database

parameter

  • superuser - by http-auth enabled, pass the admin user name
  • superpass - by http-auth enabled, pass the admin user password
influx_database{"testme2":
  ensure => present,
}

or if you use http-auth

influx_database{"testme2":
  ensure => present,
  superuser => 'john',
  superpass => 'lennon'
}

influx_user

parameter

  • name - namevar, name of the user
  • password - password
  • admin - if the user is admin, default to false
  • 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 name
  • superpass - 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.