nut

pdk
Puppet Module for managing Network UPS Tools (NUT)

Matt Dainty

bodgit

7,553 downloads

630 latest version

5.0 quality score

Version information

  • 2.0.0 (latest)
  • 1.0.3
  • 1.0.2
  • 1.0.1
  • 1.0.0
released Nov 11th 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
  • Puppet >=5.5.10 <7.0.0
  • RedHat
    ,
    CentOS
    ,
    OracleLinux
    ,
    Scientific
    ,
    Ubuntu
    ,
    Debian
    ,
    OpenBSD
    ,
    FreeBSD

Start using this module

Tags: nut, ups

Documentation

bodgit/nut — version 2.0.0 Nov 11th 2020

nut

Build Status Codecov Puppet Forge version Puppet Forge downloads Puppet Forge - PDK version

Table of Contents

  1. Description
  2. Setup - The basics of getting started with nut
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Description

This module ensures that the Network UPS Tools (NUT) are installed and configured.

RHEL/CentOS, Ubuntu, Debian and OpenBSD are supported using Puppet 5 or later.

Setup

What nut affects

This module will potentially configure your host to respond to power failures.

Setup Requirements

On RHEL/CentOS platforms you will need to have access to the EPEL repository by using stahnma/epel or by other means.

Beginning with nut

In the very simplest case, you can just include the following:

include ::nut

Usage

The above example is not terribly useful as it does not include any UPS devices, so it should be extended to something like the following:

include ::nut
::nut::ups { 'sua1000i':
  driver => 'usbhid-ups',
  port   => 'auto',
}
::nut::user { 'local':
  password => 'password',
  upsmon   => 'master',
}
::nut::user { 'remote':
  password => 'password',
  upsmon   => 'slave',
}
::nut::client::ups { 'sua1000i@localhost':
  user     => 'local',
  password => 'password',
}

If the host does not have any UPS device directly attached, but is powered by one which is controlled by another host such as the one above, use the following:

include ::nut:client
::nut::client::ups { 'sua1000i@remotehost':
  user     => 'remote',
  password => 'password',
}

Reference

The reference documentation is generated with puppet-strings and the latest version of the documentation is hosted at https://bodgit.github.io/puppet-nut/ and available also in the REFERENCE.md.

Limitations

This module has been built on and tested against Puppet 5 and higher.

The module has been tested on:

  • RedHat Enterprise Linux 6/7
  • Ubuntu 14.04/16.04
  • Debian 8
  • OpenBSD 6.0

Development

The module relies on PDK and has both rspec-puppet and beaker-rspec tests. Run them with:

$ bundle exec rake spec
$ PUPPET_INSTALL_TYPE=agent PUPPET_INSTALL_VERSION=x.y.z bundle exec rake beaker:<nodeset>

Please log issues or pull requests at github.