Puppet Class: icinga::ido::database

Defined in:
manifests/ido/database.pp

Summary

Configure IDO backend database.

Overview

Parameters:

  • db_type (Enum['mysql','pgsql'])

    What kind of database type to use.

  • ido_instances (Array[Stdlib::Host])

    List of Hosts to allow write access to the database. Usually an Icinga Server with enabled IDO feature.

  • db_pass (Icinga::Secret)

    Password to connect the database.

  • db_name (String) (defaults to: 'icinga2')

    Name of the database.

  • db_user (String) (defaults to: 'icinga2')

    Database user name.

  • tls (Variant[Boolean, Enum['password','cert']]) (defaults to: false)

    Access only for TLS encrypted connections. Authentication via ‘password` or `cert`, value `true` means password auth.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'manifests/ido/database.pp', line 24

class icinga::ido::database (
  Enum['mysql','pgsql']      $db_type,
  Array[Stdlib::Host]        $ido_instances,
  Icinga::Secret             $db_pass,
  String                     $db_name  = 'icinga2',
  String                     $db_user  = 'icinga2',
  Variant[Boolean,
  Enum['password','cert']]   $tls      = false,
) {
  icinga::database { "${db_type}-${db_name}":
    db_type          => $db_type,
    db_name          => $db_name,
    db_user          => $db_user,
    db_pass          => $db_pass,
    access_instances => $ido_instances,
    mysql_privileges => ['SELECT', 'INSERT', 'UPDATE', 'DELETE', 'DROP', 'CREATE VIEW', 'CREATE', 'ALTER', 'INDEX', 'CREATE ROUTINE', 'ALTER ROUTINE', 'EXECUTE'],
    tls              => $tls,
  }
}