A configuration organization tool.
Go to file
Alexander Hughes 498d5c078f Add nosec to Bandit False Positives
The three lines of code in pegleg.engine.errorcodes, and
pegleg.engine.util.pegleg_secret_management are giving false positive
bandit errors.  This patchset address these by adding # nosec label
to each line, instructing Bandit to ignore that line of code.

The three errors detected are all B105, details below from Bandit:

>> Issue: [B105:hardcoded_password_string] Possible hardcoded password:
'P009'
   Severity: Low   Confidence: Medium
   Location: pegleg/engine/errorcodes.py:22
20      FILE_CONTAINS_INVALID_YAML = 'P007'
21      DOCUMENT_LAYER_MISMATCH = 'P008'
22      SECRET_NOT_ENCRYPTED_POLICY = 'P009'
23
24      ALL_CODES = (
25          SCHEMA_STORAGE_POLICY_MISMATCH_FLAG,

# nosec reasoning: The variable 'SECRET_NOT_ENCRYPTED_POLICY' does not
map to a hardcoded password.

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password:
'^.{24,}$'
   Severity: Low   Confidence: Medium
   Location: pegleg/engine/util/pegleg_secret_management.py:30
28
29      LOG = logging.getLogger(__name__)
30      PASSPHRASE_PATTERN = '^.{24,}$'
31      ENV_PASSPHRASE = 'PEGLEG_PASSPHRASE'
32      ENV_SALT = 'PEGLEG_SALT'

# nosec reasoning: The variable 'PASSPHRASE_PATTERN' does not map to a
hardcoded password

--------------------------------------------------
>> Issue: [B105:hardcoded_password_string] Possible hardcoded password:
'PEGLEG_PASSPHRASE'
   Severity: Low   Confidence: Medium
   Location: pegleg/engine/util/pegleg_secret_management.py:31

29      LOG = logging.getLogger(__name__)
30      PASSPHRASE_PATTERN = '^.{24,}$'
31      ENV_PASSPHRASE = 'PEGLEG_PASSPHRASE'
32      ENV_SALT = 'PEGLEG_SALT'
33

# nosec reasoning: The variable 'ENV_PASSPHRASE' does not map to a
hardcoded password.  This is setting the environment variable name that
passwords are stored in as 'PEGLEG_PASSPHRASE'.  The passphrases are not
hardcoded on disk, but retrieved from environment variables later via
os.environ.get(ENV_PASSPHRASE)

Change-Id: I4508b30b763f25e4466c2e2159fbaf3c7df68b5b
2019-05-09 15:29:26 +00:00
doc Merge "Improve files.write, add decrypt output to file" 2019-05-03 21:39:22 +00:00
images/pegleg Update references from openstack to opendev 2019-04-24 15:22:53 -05:00
pegleg Add nosec to Bandit False Positives 2019-05-09 15:29:26 +00:00
releasenotes Add releasenotes 2018-11-28 02:48:40 -06:00
site_yamls/site CLI capability to generate and encrypt passphrases 2019-01-29 16:24:31 -06:00
tests Merge "tests: Improve unit tests runtime performance" 2019-05-08 19:20:48 +00:00
tools Merge "tests: Improve unit tests runtime performance" 2019-05-08 19:20:48 +00:00
.dockerignore Update to UCP layout standard 2018-03-05 07:42:00 -06:00
.gitignore Update .gitignore 2018-10-31 15:08:42 -05:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:19 +00:00
.style.yapf trivial: fix yapf/pep8 interaction failing on logical operator 2019-03-25 05:07:59 +00:00
.zuul.yaml Merge "zuul: Remove redundant airship-pegleg-tox-py36 job." 2019-05-08 18:58:35 +00:00
LICENSE Initial commit 2018-01-26 15:47:15 -06:00
Makefile Merge "Remove py35 support" 2018-11-11 22:22:13 +00:00
README.rst Typo fix: getting started URL 2019-01-23 09:35:27 +01:00
requirements.txt Update references from openstack to opendev 2019-04-24 15:22:53 -05:00
setup.py Update references from openstack to opendev 2019-04-24 15:22:53 -05:00
test-requirements.txt tests: Improve unit tests runtime performance 2019-04-04 14:21:43 +00:00
tox.ini Merge "Add py37 to tox" 2019-05-08 21:56:44 +00: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.