
Now that Pegleg is a proud member of the OpenStack Airship family, this PS makes a few updates to reflect this change, in terms of project name (s/pegleg/airship-pegleg/), doc links, and old-skool UCP vs Airship terminology. Http URLs have also been updated to https. Change-Id: I27bc725b3cf3c1ccee20221722733807af51cd44
4.9 KiB
Pegleg CLI
The Pegleg CLI is used in conjunction with the script located in pegleg/tools called pegleg.sh.
$WORKSPACE = Location of the folder that holds the repositories containing
the site definition libraries. Pegleg makes no assumptions about the root
directory. $WORKSPACE is /workspace in the container context.
Example: $WORKSPACE=/home/ubuntu/all_repos
$IMAGE = Location of pegleg docker image.
Example: $IMAGE=quay.io/attcomdev/pegleg:latest
To run:
export WORKSPACE=<repo_location>
export IMAGE=<docker_image>
./pegleg.sh <command> <options>
CLI Options
-v / --verbose
Enable debug logging.
Site
This allows you to set the primary and auxiliary repositories.
-p / --primary
Path to the root of the primary (containing site_definition.yaml) repo. (Required).
-a / --auxiliary
Path to the root of an auxiliary repo.
./pegleg.sh site -p <primary_repo> -a <auxiliary_repo> <command> <options>
Example:
./pegleg.sh site -p /workspace/repo_1 -a /workspace/repo_2
<command> <options>
Collect
Output complete config for one site.
site_name
Name of the site. (Required).
-s / --save-location
Where to output collected documents.
-x <code> (Optional, validation only).
Will exclude the specified lint option. -w takes priority over -x.
-w <code> (Optional, validation only).
Will warn of lint failures from the specified lint options.
--validate (Optional, validation only). False by default.
Perform validation of documents prior to collection. See linting
for additional
information on document linting. It is recommended that document linting
be executed prior to document collection. However,
--validate
is False by default for backwards compatibility
concerns.
Usage:
./pegleg.sh <command> <options> collect site_name -s save_location
-x P001 -w P002 --validate
Example without validation:
./pegleg.sh site -p /workspace/repo_1 -a /workspace/repo_2
collect site_name -s /workspace
Example with validation:
./pegleg.sh site -p /workspace/repo_1 -a /workspace/repo_2
collect site_name -s /workspace -x P004 --validate
Impacted
Find sites impacted by changed files.
-i / --input
List of impacted files.
-o / --output
Where to output.
./pegleg impacted -i <input_stream> -o <output_stream>
List
List known sites.
-o/--output
Where to output.
./pegleg <command> <options> list
Example:
./pegleg site -p /workspace/repo_1 list -o /workspace
Show
Show details for one site.
site_name
Name of site. (Required).
-o /--output
Where to output.
./pegleg <command> <options> show site_name
Example:
./pegleg site -p /workspace/repo_1 show site_name -o /workspace
Lint
Sanity checks for repository content. Validations for linting are done utilizing Deckhand Validations.
./pegleg.sh lint -p <primary_repo> -a <auxiliary_repo>
-f -x <lint_code> -w <lint_code>
Example:
./pegleg.sh lint -p /workspace/site-repo -a /workspace/secondary-repo
-x P001 -x P002 -w P003
-p / --primary
Path to the root of the primary (containing site_definition.yaml) repo. (Required).
-a / --auxiliary
Path to the root of an auxiliary repo.
-f / --fail-on-missing-sub-src
Raise Deckhand exception on missing substitution sources. Defaults to True.
-x <code>
Will exclude the specified lint option. -w takes priority over -x.
-w <code>
Will warn of lint failures from the specified lint options.
If you expect certain lint failures, then those lint options can be
excluded or you can choose to be warned about those failures using the
codes below.
P001 - Document has storagePolicy cleartext (expected is encrypted) yet
its schema is a mandatory encrypted type.
Where mandatory encrypted schema type is one of:
* deckhand/CertificateAuthorityKey/v1
* deckhand/CertificateKey/v1
* deckhand/Passphrase/v1
* deckhand/PrivateKey/v1
P002 - Deckhand rendering is expected to complete without errors.
P003 - All repos contain expected directories.