Spyglass will soon have its plugins separated from its main repo. Many
other OpenStack repositories that utilize plugins have implemented
Python Build Reasonableness to manage their entry points for plugins.
As Spyglass will be managing plugins, it makes sense to stay uniform
with other projects and implement PBR.
Implements PBR using setup.py and setup.cfg files.
Changes README to correct file extension.
Freezes PIP requirements file.
Moves YAPF configuration into setup.cfg file.
Change-Id: I48ac5aeb3e544d3da7ce25bd9b827d8fd9c4e108
The original CLI is based on click, but includes all options stacked on
one main method. This is in contrast to other Airship CLIs such as
Pegleg which utilizes click's nesting features to organize its CLI into
multiple groups and commands that each have their own options.
This change separates the Spyglass CLI into three different commands:
generate intermediary, generate manifests, and generate manifests from
intermediary.
Adds a 'verbose' flag on Spyglass.
Defaults plugin to 'tugboat'.
Adds validation for options that apply specifically to tugboat or
formation.
Related docs change: https://review.opendev.org/#/c/650137/
Change-Id: I92e5f040d5205c3ab36ec1d46ecd57bc97849cef
Spyglass was originally built with a web-based YAML editor.
Unfortunately, the presence of the editor has caused some problems. It
can cause the Docker container to freeze before creating the
intermediary YAML file. The execution of the flask app is also the
root cause for the Bandit B104 errors and B605 error.
Since the target audience for Spyglass is developers, it can be
assumed that they will have access to an editor with support for YAML
files. Having a web-based version of the YAML editor is unnecessary and
will just result in more code to maintain in the future.
Removes the editor script from utils.
Removes the yaml-editor entry point from the package.
Removes references to the yaml-editor from the CLI and engine.
Resolves all known Bandit errors.
In the future, a pause in execution could be provided to allow users to
make quick edits. Log messages could also notify users when a
placeholder value is inserted in the intermediary so they can fix it.
Change-Id: Ibc37e61f93b33904ea839e12fe5a8d586985e0b1