A configuration organization tool.
Go to file
Felipe Monteiro 57a6c6a84e Implement global lint and lint by site logic
With the implementation of revisioned repository to the CLI in
https://review.openstack.org/#/c/577886 there was a change to
the lint command [0], which changed it from being a global lint
to a site-level (targetted lint)... kind of: Only the CLI logic
was modified to support targetted single-site linting. Thus,
the first issue this patch set addresses is implementing the
back-end logic to realize targetted, single-site linting.

The second issue this patch set addresses is re-supporting global
linting (linting all sites within a repository) which means that
this partially reverts [0] which had (kind of) replaced global
linting with per-site linting.

So, this patch set:

1) Implements targetted, single-site linting back-end logic
2) Re-implements global linting for all sites in a repo
3) Adds unit tests for both
4) Adds some helper functions to util.engine.definition to
   help with 1) and 2)

[0] https://review.openstack.org/#/c/577886/4/src/bin/pegleg/pegleg/cli.py@191

Change-Id: I5147282556763d93dfaf06912d2c4c876e1bd69f
2018-10-02 21:41:56 +01:00
doc Implement global lint and lint by site logic 2018-10-02 21:41:56 +01:00
images/pegleg Merge "Fix: git commit id labels on images" 2018-10-01 12:07:52 +00:00
pegleg Implement global lint and lint by site logic 2018-10-02 21:41:56 +01:00
site_yamls/site Check that Pegleg only considers YAML 2018-04-10 08:25:36 -05:00
tests Implement global lint and lint by site logic 2018-10-02 21:41:56 +01:00
tools Implement global lint and lint by site logic 2018-10-02 21:41:56 +01:00
.dockerignore Update to UCP layout standard 2018-03-05 07:42:00 -06:00
.gitignore Allow linting policies to be selectable 2018-03-13 08:57:00 -05:00
.gitreview Update .gitreview for openstack infra 2018-05-17 19:52:49 +01:00
.zuul.yaml Standardize Pegleg directory structure 2018-09-23 10:33:40 -04:00
LICENSE Initial commit 2018-01-26 15:47:15 -06:00
Makefile Implement global lint and lint by site logic 2018-10-02 21:41:56 +01:00
README.rst Fix: various documentation and URL fixes 2018-09-25 11:44:57 +02:00
requirements.txt Standardize Pegleg directory structure 2018-09-23 10:33:40 -04:00
setup.py Fix: various documentation and URL fixes 2018-09-25 11:44:57 +02:00
test-requirements.txt Standardize Pegleg directory structure 2018-09-23 10:33:40 -04:00
tox.ini Standardize Pegleg directory structure 2018-09-23 10:33:40 -04:00

README.rst

Pegleg

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.