Puppet Class: librenms::oxidized

Defined in:
manifests/oxidized.pp

Summary

Manages all Oxidized resources

Overview

Manages all Oxidized resources

Examples:

use main class


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
# File 'manifests/oxidized.pp', line 7

class librenms::oxidized {
  if $librenms::oxidized_enabled {
    $http_protocol = $librenms::nginx_ssl_enable ? {
      false => 'http',
      true  => 'https',
    }

    $sane_default = {
      'interval'   => 1800,
      'use_syslog' => false,
      'debug'      => false,
      'threads'    => 40,
      'timeout'    => 60,
      'retries'    => 0,
      'prompt'     => '!ruby/regexp /^([\w.@-]+[#>]\s?)$/',
      'rest'       => '127.0.0.1:8888',
      'vars'       => {
        'remove_secret' => true,
      },
      'source'     => {
        'default' => 'http',
        'debug'   => false,
        'http'    => {
          'url' => "${http_protocol}://${librenms::nginx_server_name}/api/v0/oxidized",
          'map' => {
            'name'  => 'hostname',
            'model' => 'os',
            'group' => 'group',
          },
          'headers' => {
            'X-Auth-Token' => $librenms::oxidized_auth_token,
          },
        },
      },
      'input' => {
        'default' => 'ssh', # Yes, this is a string
        'debug'   => false,
        'ssh'     => {
          'secure' => true,
        },
      },
      'output' => {
        'default' => 'git',
        'git'     => {
          'user'        => 'oxidized',
          'single_repo' => true,
          'repo'        => '/home/oxidized/.config/oxidized/devices.git',
          'email'       => $librenms::config_admin_email,
        },
      },
    }

    $config = deep_merge($sane_default, $librenms::oxidized_configuration)

    class { 'oxidized':
      manage_repo          => $librenms::oxidized_manage_repo,
      with_web             => true,
      with_service         => true,
      config               => $config,
      log                  => $librenms::oxidized_log_path,
      install_dependencies => $librenms::oxidized_install_packages,
      ruby_dependencies    => $librenms::oxidized_ruby_packages,
      require              => Service['nginx'],
    }
  }
}