Ian Pittwood c46e15385c Refactors CLI to match style of Airship CLIs
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
2019-05-06 16:04:02 -05:00
2019-04-24 12:03:32 -05:00
2018-11-28 15:19:43 +05:30
2018-11-28 15:19:43 +05:30
2019-04-19 19:52:20 +00:00
2019-04-29 15:37:25 -05:00
2019-04-04 19:25:58 -05:00
2018-11-28 15:19:43 +05:30
2019-04-24 12:03:32 -05:00
2018-11-29 17:25:03 +05:30
2019-04-29 16:42:25 +00:00

What is Spyglass?

Spyglass is the data extractor tool which can interface with different input data sources to generate site manifest YAML files. The data sources will provide all the configuration data needed for a site deployment. These site manifest YAML files generated by spyglass will be saved in a Git repository, from where Pegleg can access and aggregate them. This aggregated file can then be fed to shipyard for site deployment / updates.

Spyglass follows plugin model to support multiple input data sources. Current supported plugins are formation-plugin and Tugboat. Formation is a rest API based service which will be the source of information related to hardware, networking, site data. Formation plugin will interact with Formation API to gather necessary configuration. Similarly Tugboat accepts engineering spec which is in the form of spreadsheet and an index file to read spreadsheet as inputs and generates the site level manifests. As an optional step it can generate an intermediary yaml which contain all the information that will be rendered to generate Airship site manifests. This optional step will help the deployment engineer to modify any data if required.

Getting Started

For more detailed installation and setup information, please refer to the Getting Started_ guide.

.. _Getting Started: ./doc/source/getting_started.rst

Description
Configuration extraction tool for Airship
Readme 2.1 MiB
Languages
Jinja 60.4%
Python 38.6%
Makefile 0.8%
Shell 0.2%