language-puppet: Tools to parse and evaluate the Puppet DSL.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

This is a set of tools that is supposed to fill all your Puppet needs : syntax checks, catalog compilation, PuppetDB queries, simulation of complex interactions between nodes, Puppet master replacement, and more !


[Skip to Readme]

Properties

Versions 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.7.2, 0.1.8.0, 0.2.0, 0.2.0.1, 0.2.0.2, 0.2.2.0, 0.3.0.0, 0.3.1.0, 0.3.2, 0.4.0, 0.4.2, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5, 0.10.6, 0.11.0, 0.11.1, 0.11.1.1, 0.12.0, 0.12.1, 0.12.2, 0.12.3, 0.13.0, 0.14.0, 1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.1.1.1, 1.1.1.2, 1.1.3, 1.1.3.1, 1.1.4, 1.1.4.1, 1.1.5, 1.1.5.1, 1.2, 1.3, 1.3.1, 1.3.1.1, 1.3.2, 1.3.2.1, 1.3.3, 1.3.4, 1.3.4.1, 1.3.5, 1.3.5.1, 1.3.6, 1.3.7, 1.3.8, 1.3.8.1, 1.3.9, 1.3.10, 1.3.11, 1.3.12, 1.3.12.1, 1.3.13, 1.3.14, 1.3.15, 1.3.16, 1.3.17, 1.3.18, 1.3.18.1, 1.3.19, 1.3.19.1, 1.3.20, 1.3.20.1, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.6.1, 1.4.6.2, 1.4.6.3, 1.4.6.3, 1.4.6.4, 1.4.6.5, 1.5.1
Change log CHANGELOG
Dependencies aeson (>=1.0.0.0 && <1.5), ansi-wl-pprint (>=0.6.8), async, attoparsec (>=0.12), base (>=4.9 && <5), base16-bytestring (>=0.1 && <0.2), bytestring (<0.11), case-insensitive (>=1.2 && <1.3), containers (>=0.5 && <0.7), cryptonite (>=0.6), directory (>=1.2 && <1.4), filecache (>=0.2.9 && <0.5), filepath (>=1.4), formatting (<7), Glob, hashable (>=1.2 && <1.4), hruby (>=0.3.5 && <0.4), hslogger (>=1.2 && <1.4), http-api-data (>=0.2 && <0.5), http-client (>=0.4.30 && <0.7), language-puppet, lens (>=4.12 && <5), lens-aeson (>=1.0), megaparsec (>=7 && <9), memory (>=0.14 && <0.16), mtl (>=2.2.1 && <2.3), operational (>=0.2.3 && <0.3), optparse-applicative, parsec (>=3.1 && <3.2), parser-combinators (>=1 && <2), pcre-utils (>=0.1.7 && <0.2), protolude (>=0.2 && <0.4), random, regex-pcre-builtin (>=0.94.4), scientific (>=0.2 && <0.4), servant (>=0.9 && <0.18), servant-client (>=0.9 && <0.18), split (>=0.2 && <0.3), stm (>=2.4 && <2.6), strict-base-types (>=0.3), text (>=0.11 && <1.3), time (>=1.5 && <2), transformers (>=0.4 && <0.6), unix (>=2.7 && <2.8), unordered-containers (>=0.2 && <0.3), vector (>=0.10 && <0.13), yaml (>=0.8.31 && <0.12) [details]
License BSD-3-Clause
Author Simon Marechal
Maintainer bartavelle@gmail.com
Category System
Home page http://lpuppet.banquise.net/
Bug tracker https://github.com/bartavelle/language-puppet/issues
Source repo head: git clone git://github.com/bartavelle/language-puppet.git
Uploaded by pi3r at 2020-04-30T10:26:40Z

Modules

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for language-puppet-1.4.6.3

[back to package description]

language puppet lts nightly Build Status cachix cachix orange

A library to work with Puppet manifests, test them and eventually replace everything ruby.

Install

Install with stack:

stack install language-puppet

Install with nix:

nix-env -i -f https://github.com/bartavelle/language-puppet/tarball/v1.4.5

(replace 1.4.3 with any commit ref or tag).

Build from sources:

git clone https://github.com/bartavelle/language-puppet.git
cd language-puppet
# Using nix
nix build
# Using stack
ln -s stack-10.yaml stack.yaml
stack build

Puppetresources

Basic usage

puppetresources --puppetdir /where/your/puppet/files/are --node node.name.com

The puppetresources command is a command line utility that let you interactively compute catalogs on your local computer. It is much faster than its ruby counterpart, and has been designed for giving assistance to the Puppet catalog writer.

There are 4 different modes:

Catalog is not computed exactly the same way Puppet does. Some good practices are enforced. A strict and more permissive mode are provided.

Command line arguments

Settings defaults using a yaml file

Defaults for some of these options can be set using a /yourworkingdirectory/tests/defaults.yaml file. For instance OptionalTests is checking that all users and groups are known. Because some of these users and groups might be defined outside puppet, a list of known ones is used internally. This can be overridden in that file using the key knownusers and knowngroups.

Please look at the template file for a list of possible defaults.

pdbQuery

The pdbquery command will work with different implementations of PuppetDB (the official one with its HTTP API, the file-based backend and dummy ones). It can be used to:

Command line arguments

Supported features