922083448c
https://review.openstack.org/#/c/582652/ added support for cloning from repositories using various reference types and allowing checkouts from already-cloned repositories. This patch set expands on that behavior to enhance the CLI to allow for using revisioned repositories rather than relying on pseudo-revision subfolders. That is, previously Pegleg achieved revision behavior through subdirectories. With this patch set, Pegleg will treat every manifests directory it encounters as a proper Git repository, such that revision support for clones/checkouts is now supported. Thus, this patch set is backwards incompatible and breaks the previous behavior of treating every directory as a flat directory from which revision sub-folders were referenced. Going forward, only repositories will be supported. * Remove directory revision support * Add support for repository definitions within the site-definition: repositories: global: revision: 0.9 url: ssh://REPO_USERNAME@gerrit:29418/aic-clcp-manifests.git secrets: revision: master url: ssh://REPO_USERNAME@gerrit:29418/aic-clcp-security-manifests.git where REPO_USERNAME would be replaced with the value from -u and use the public SSH key supplied with -k. * Remove primary and aux repository logic and replace with site repository and extra repositories * Allow overriding definitions in the above site-definition on the command line: -e global=/mydir@revision * Move linting into a site action even though more work to be done to restrict it to a site Co-Authored-By: Felipe Monteiro <felipe.monteiro@att.com> Change-Id: Iaa928ec2f777ed6f899d3b1790f5f9de613da9bb |
||
---|---|---|
doc | ||
images/pegleg | ||
site_yamls/site | ||
src/bin/pegleg | ||
tools | ||
.dockerignore | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
LICENSE | ||
Makefile | ||
README.rst | ||
tox.ini |
README.rst
Pegleg
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: