Hyperglass is shipped as a python package. This Puppet module can install all the required services:
- nginx
- redis
- npm
- yarn
And hyperglass itself. It ships gunicorn as a webserver. nginx is used as a reverse proxy.
In case you want this module to manage all the required services, simply do:
include hyperglass::server
In your puppet code. If this is a box with multiple applications, you might want to manage the required services on your own. In this case you can do:
class { 'hyperglass::server':
manage_depended_services => false,
}
hyperglass needs a list of devices to talk to. You can pass the hash from
the docs to the $devices
parameter. It will be converted to yaml and written
to the config file.
The same applies for the generic hyperglass server configuration ($data
attribute) and specific commands for the devices $commands
attribute).
class { 'hyperglass::server':
data => {...},
commands => {...},
devices => {...},
}
Please take a look at the official hyperglass documentation.
It explains the three different options very well. You can pass the hashes from the documentation 1:1 to the three parameters.
This module has several unit tests and linters configured. You can execute them by running:
bundle exec rake test
Detailed instructions are in the CONTRIBUTING.md file.
Contribution is fairly easy:
- Fork the module into your namespace
- Create a new branch
- Commit your bugfix or enhancement
- Write a test for it (maybe start with the test first)
- Create a pull request
Detailed instructions are in the CONTRIBUTING.md file.
This module was originally written by Tim Meusel. It's licensed with AGPL version 3.