A configuration organization tool.
Go to file
Rick Bartra e3d37db45e Allow the repository clone path to be specified in the CLI
As it currently stands, Pegleg clones site repositories into the /tmp
directory. Even if the site repository already exists in the /tmp
directory it is still cloned there which results in wasted disk space.

This commit allows users to pass in a `clone_path` (-p) option to Pegleg
CLI commands that specify where to clone a site repository. If the clone
path matches the path of an existing repository, then a error message is
logged stating so. If the repository already exists in the clone path, the
user can either specify to use that local repo by passing it as the site
repository or they proceed by passing in a different clone path.

This commit also updates the logic that deletes the copy of the repo that
is created in the temporary folder to also delete the parent folder that
contains the copied repo. This scenario happens when using a local
repository as the site repository.

Addionally, this commit adds a cleanup fixture that removes files and
directories created in the temporary folder by the unit tests.

Change-Id: I1b2943493b8f201f337ea60006c009973dd941b3
2018-10-20 15:21:07 -04:00
doc Allow the repository clone path to be specified in the CLI 2018-10-20 15:21:07 -04:00
images/pegleg Merge "Fix: git commit id labels on images" 2018-10-01 12:07:52 +00:00
pegleg Allow the repository clone path to be specified in the CLI 2018-10-20 15:21:07 -04:00
site_yamls/site Check that Pegleg only considers YAML 2018-04-10 08:25:36 -05:00
tests Allow the repository clone path to be specified in the CLI 2018-10-20 15:21:07 -04:00
tools Merge "Switch to openstack-python35-jobs template for py35 CI gate" 2018-10-15 19:25:30 +00:00
.dockerignore Update to UCP layout standard 2018-03-05 07:42:00 -06:00
.gitignore fix: Enable Pegleg to support manifest repos like AIAB 2018-10-18 19:07:31 +01:00
.gitreview Update .gitreview for openstack infra 2018-05-17 19:52:49 +01:00
.zuul.yaml Switch to openstack-python35-jobs template for py35 CI gate 2018-10-02 22:32:47 +00: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 trivial: Fix README documentation badge 2018-10-02 18:29:45 -05: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

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.