Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/desertkun/hiera-editor

A GUI tool to manage your Puppet/Hiera for you
https://github.com/desertkun/hiera-editor

eyaml gui hiera puppet puppet-server

Last synced: 4 months ago
JSON representation

A GUI tool to manage your Puppet/Hiera for you

Awesome Lists containing this project

README

        

# Hiera Editor
A GUI tool to manage your Puppet/Hiera for you.

## Features
* Cross platform
* Supports Hierarchy: shows changes on every level
* You can edit properties of classes generated by Puppet, or you can assign classes in Hiera Editor itself, as it detects `hiera_include` function
* Automatically retrieves all nodes information from Puppet
* Automatically installs Modules locally from [Puppetfile](https://librarian-puppet.com/)
* Parses modules to extract class information like field names, types and doc strings
* Retrieves default values of class fields by doing best-effort compilation of Puppet AST on your machine
* Automatic field validation (for example, if module fails when you pass a value that does not match a regular expression)
* It can display icons for your classes (if you add a comment like `@option editor icon data:` to your class)
* You can mark you classes `@api private` and it will suggest the end user not to use them.

## Prerequisites
Hiera Editor needs to connect to Puppet Server on the first launch, so you need to have at least running empty Puppet Server to use this. Connection on consequential launches are optional, but essential to obtain latest fact information. But that is done with handly in-app Wizard that will take you trough all steps with careful explanation.

To make a node appear in environment, you would need to setup it within Puppet itself, Hiera Editor will notice it automatically. For example, you may do it like this:

1. `puppet agent --test --waitforcert 10` on a node
2. Simultaneously, `pupper cert sign ` on the Puppet Server

## Download
You can download it from [Releases](https://github.com/desertkun/hiera-editor/releases) page.

## Demo
As a working example, you can clone [this repository](https://github.com/anthill-platform/puppet-anthill-dev), and open it within the editor.

## Building from source
To build the project youself you'll need install [Node](https://nodejs.org/en/download/),
clone this repo, open it in the terminal, and just do

```
npm install
tsc
npm start
```

It also has debug configurations for Visual Studio Code.

The project has a bunch of tests, to run those do `tsc` to compile the typescript and then do `npm test`.

## License
MIT

This project uses icons from Font Awesome (https://fontawesome.com/license) under the
Creative Commons Attribution 4.0 International license.