Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bodgit/puppet-nut

Puppet Module for Network UPS Tools (NUT)
https://github.com/bodgit/puppet-nut

nut puppet

Last synced: 4 months ago
JSON representation

Puppet Module for Network UPS Tools (NUT)

Awesome Lists containing this project

README

        

# nut

[![Build Status](https://travis-ci.org/bodgit/puppet-nut.svg?branch=master)](https://travis-ci.org/bodgit/puppet-nut)
[![Codecov](https://img.shields.io/codecov/c/github/bodgit/puppet-nut)](https://codecov.io/gh/bodgit/puppet-nut)
[![Puppet Forge version](http://img.shields.io/puppetforge/v/bodgit/nut)](https://forge.puppetlabs.com/bodgit/nut)
[![Puppet Forge downloads](https://img.shields.io/puppetforge/dt/bodgit/nut)](https://forge.puppetlabs.com/bodgit/nut)
[![Puppet Forge - PDK version](https://img.shields.io/puppetforge/pdk-version/bodgit/nut)](https://forge.puppetlabs.com/bodgit/nut)

#### Table of Contents

1. [Description](#description)
2. [Setup - The basics of getting started with nut](#setup)
* [What nut affects](#what-nut-affects)
* [Setup requirements](#setup-requirements)
* [Beginning with nut](#beginning-with-nut)
3. [Usage - Configuration options and additional functionality](#usage)
4. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
5. [Limitations - OS compatibility, etc.](#limitations)
6. [Development - Guide for contributing to the module](#development)

## 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](https://forge.puppet.com/stahnma/epel) or by other means.

### Beginning with nut

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

```puppet
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:

```puppet
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:

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

## Reference

The reference documentation is generated with
[puppet-strings](https://github.com/puppetlabs/puppet-strings) and the latest
version of the documentation is hosted at
[https://bodgit.github.io/puppet-nut/](https://bodgit.github.io/puppet-nut/)
and available also in the [REFERENCE.md](https://github.com/bodgit/puppet-nut/blob/master/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](https://puppet.com/docs/pdk/1.x/pdk.html) and has
both [rspec-puppet](http://rspec-puppet.com) and
[beaker-rspec](https://github.com/puppetlabs/beaker-rspec) tests. Run them
with:

```
$ bundle exec rake spec
$ PUPPET_INSTALL_TYPE=agent PUPPET_INSTALL_VERSION=x.y.z bundle exec rake beaker:
```

Please log issues or pull requests at
[github](https://github.com/bodgit/puppet-nut).