A configuration organization tool.
a8620cfd8d
Some secrets are being created with undesirable permissions. Upon inspection it was noticed that in general Pegleg is creating files, then changing permissions after the fact. This leads to a small window where the permissions on a file are overly permissive. This patchset: 1. Sets default umask of 0o027 (640 permissions for files) 2. Explicitly adds the open flag ('r', 'w' etc.) to all open() calls. 3. Replaces sys.stdout.write calls with click.echo() calls to be more in line with the rest of the project. 4. Re-orders methods that write so that data is always first, and the path is always second. 5. Updates unit tests. 6. Adds unit tests for testing directory and file permissions. 7. Minor style changes. Change-Id: I0c154aa311ea371940fd24b0aabf58fffaf1d231 |
||
---|---|---|
doc | ||
images/pegleg | ||
pegleg | ||
releasenotes | ||
site_yamls/site | ||
tests | ||
tools | ||
.dockerignore | ||
.gitignore | ||
.gitreview | ||
.style.yapf | ||
.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: