Forge Home

uchiwa

Puppet module for installing Uchiwa

1,262,857 downloads

125,588 latest version

2.8 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 2.1.0 (latest)
  • 2.0.0
  • 1.0.1
  • 1.0.0
  • 0.3.0
  • 0.2.7
  • 0.2.6
released Jul 23rd 2018
This version is compatible with:
  • Puppet 3.x
  • , , , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'yelp-uchiwa', '2.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add yelp-uchiwa
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install yelp-uchiwa --version 2.1.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

yelp/uchiwa — version 2.1.0 Jul 23rd 2018

Uchiwa-Puppet

Tested with Travis CI

Build Status

Upgrade Note

Versions greater than 0.3.0 are incompatible with previous versions of the Yelp-Uchiwa module.

Installation

$ puppet module install yelp-uchiwa

Prerequisites

  • One or more working Sensu installations

Dependencies

  • puppetlabs/apt
  • puppetlabs/stdlib

See Modulefile for details.

Examples

Simple Setup

By default the puppet module will connect to a single Sensu API endpoint on localhost:

node 'uchiwa-server.foo.com' {
  include ::uchiwa
}

API definitions will default to the following values:

name     => 'sensu'
host     => '127.0.0.1'
ssl      => false
insecure => false
port     => 4567
user     => 'sensu'
pass     => 'sensu'
path     => ''
timeout  => 5

Simple Server Without the Repo

The module itself sets up the Sensu repo in order to download Uchiwa. Often this is also done by the Sensu puppet module too. To get around this duplication you can ask the Uchiwa module not to manage the repo:

class { '::uchiwa':
  install_repo => false,
}

Advanced Example Using Multiple APIs

This is an example of how to setup Uchiwa connecting to two different API endpoints. In this example there is one endpoint using mostly default parameters, and then a second endpoint using all the possible options:

node 'uchiwa-server.foo.com' {

  $uchiwa_api_config = [
    {
      host  => '10.56.5.8',
    },
    {
      host      => '10.16.1.25',
      ssl       => true,
      insecure  => true,
      port      => 7654,
      user      => 'sensu',
      pass      => 'saBEnX8PQoyz2LG',
      path      => '/sensu',
      timeout   => 5
    }
  ]
  class { 'uchiwa':
    sensu_api_endpoints => $uchiwa_api_config,
  }
}

SSL (HTTPS)

This is an example on how to use Uchiwa with HTTPS:

Puppet:

class { 'uchiwa':
  ssl = {
    'certfile' => '/path/to/certfile',
    'keyfile' => '/path/to/keyfile',
  }
}

Simple YAML:

uchiwa::ssl: { 'certfile': '/opt/ssl/public.crt', 'keyfile': '/opt/ssl/private.key' }

Litle more advanced:

uchiwa::ssl: { 'certfile': '/opt/ssl/%{::hostname}.crt', 'keyfile': '/opt/ssl/%{::hostname}.key' }

Users Options

Example of declaring the UsersOptions hash as defined in https://docs.uchiwa.io/getting-started/configuration/#users-options:

Via hiera:

uchiwa::usersoptions:
  disableNoExpiration: true
  requireSilencingReason: true
  defaultExpireOnResolve: true

License

See LICENSE file.