A configuration organization tool.
Go to file
Ian H Pittwood eb6c2574bc Set a fixed order in which data is dumped to YAML files
One of the well-known issues of Python is that dictionaries do not
maintain order in their keys once created. This causes YAML data dumps
to output in a seemingly random order or alphabetically. As these output
files are often kept in their own repositories, they must go through
review or comparison in VCS. If the order of keys is switching for these
files every time Pegleg is ran, it makes it difficult for a user to
compare newly generated files with the old.

To fix this issue, we can change all dictionaries used to template
YAML files into OrderedDict objects. The OrderedDict objects will
maintain order through their dumping to YAML.

Change-Id: I0c1ee3f3f37ed8598d2ba81528d5c61447cbd0d0
2019-08-02 18:33:26 +00:00
doc Merge "Fix: Pegleg Exceptions docs rendering on RTD" 2019-07-17 16:02:39 +00:00
images/pegleg Update base image from leap15.0 to leap15.1 2019-07-11 17:27:53 -07:00
pegleg Set a fixed order in which data is dumped to YAML files 2019-08-02 18:33:26 +00:00
releasenotes Add releasenotes 2018-11-28 02:48:40 -06:00
site_yamls/site CLI capability to generate and encrypt passphrases 2019-01-29 16:24:31 -06:00
tests Set a fixed order in which data is dumped to YAML files 2019-08-02 18:33:26 +00:00
tools Update Pegleg docs jobs 2019-05-20 08:16:16 -05:00
.dockerignore Update to UCP layout standard 2018-03-05 07:42:00 -06:00
.gitignore Update .gitignore 2018-10-31 15:08:42 -05:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:19 +00:00
.readthedocs.yaml Fix: Pegleg Exceptions docs rendering on RTD 2019-07-12 16:48:43 +02:00
.style.yapf Standardize Pegleg code with YAPF 2019-07-25 17:28:18 +00:00
.zuul.yaml Fix zuul job naming 2019-07-23 08:44:13 -05:00
LICENSE Initial commit 2018-01-26 15:47:15 -06:00
Makefile Standardize Pegleg code with YAPF 2019-07-25 17:28:18 +00:00
README.rst Typo fix: getting started URL 2019-01-23 09:35:27 +01:00
requirements.txt Update Passphrase Catalog to support types 2019-08-02 07:30:51 -05:00
setup.py Update references from openstack to opendev 2019-04-24 15:22:53 -05:00
test-requirements.txt Restructure usage of test fixtures 2019-07-29 11:37:36 -05:00
tox.ini Restructure usage of test fixtures 2019-07-29 11:37:36 -05:00

README.rst

Pegleg

Docker Repository on Quay Doc Status

Introduction

Pegleg is a document aggregator that provides early linting and validations via Deckhand, a document management micro-service within Airship.

Pegleg supports local and remote Git repositories. Remote repositories can be cloned using a variety of protocols -- HTTP(S) or SSH. Afterward, specific revisions within those repositories can be checked out, their documents aggregated, linted, and passed to the rest of Airship for orchestration, allowing document authors to manage their site definitions using version control.

Find more documentation for Pegleg on Read the Docs.

Core Responsibilities

  • aggregation - Aggregates all documents required for site deployment across multiple Git repositories, each of which can be used to maintain separate document sets in isolation
  • linting - Configurable linting checks documents for common syntactical and semantical mistakes

Getting Started

For more detailed installation and setup information, please refer to the Getting Started guide.

Integration Points

Pegleg has the following integration points:

  • Deckhand which provides document revision management, storage and rendering functionality upon which the rest of the Airship components rely for orchestration of infrastructure provisioning.

Further Reading

Airship.