A configuration organization tool.
18598b671b
This patch set fixes a `pegleg site render` issue in which pyyaml is adding unwanted (multiple) newlines in multiline strings in the output. In other words, currently, `pegleg site render` keeps injecting additional newline characters in multiline certificates, such that each newline is rendered, in effect, as two newlines. For example: -----BEGIN CERTIFICATE----- MIIDSDCCAjCgAwIBAgIUegkh/antB1XyDVHdP5dv+0MZyBcwDQYJKoZIhvcNAQEL BQAwKjETMBEGA1UEChMKS3ViZXJuZXRlczETMBEGA1UEAxMKa3ViZXJuZXRlczAe <snip> Currently renders as: -----BEGIN CERTIFICATE----- MIIDSDCCAjCgAwIBAgIUegkh/antB1XyDVHdP5dv+0MZyBcwDQYJKoZIhvcNAQEL BQAwKjETMBEGA1UEChMKS3ViZXJuZXRlczETMBEGA1UEAxMKa3ViZXJuZXRlczAe <snip> This patch set adds code to pegleg.engine.__init__ to use the solution prescribed in [0] to force pyyaml to ensure that the rendered output for such multiline strings matches the original input. Note that this requires using safe_dump(_all) which should be used in Pegleg ubiquitously for the same reason as [1]. Using safe_dump(_all) for all CLI actions will be done in a follow up change. [0] https://stackoverflow.com/questions/45004464/yaml-dump-adding-unwanted-newlines-in-multiline-strings [1] https://review.openstack.org/#/c/578240/ Change-Id: I3d53b310869e5eacf3d7a17b51ff9ae462d64736 |
||
---|---|---|
doc | ||
images/pegleg | ||
pegleg | ||
site_yamls/site | ||
tests | ||
tools | ||
.dockerignore | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
LICENSE | ||
Makefile | ||
README.rst | ||
requirements.txt | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
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: