Configuration extraction tool for Airship
Go to file
Ian H. Pittwood 4909870115 Implement Pipenv dependency management
Pipenv is a tool that brings better package dependency management to
python. It can automatically create and manage virtualenv as well as
managing package dependencies using Pipfile and Pipfile.lock. Adding
this dependency manager into Airship projects will decrease package
version conflicts between projects and help increase security through
hash validation of packages and vulnerability scans.

Changes:
- Imports requirements.txt type files into Pipfile
- Pipenv dependency management in tox
- Switches Safety package for "pipenv check", an implementation of
Safety
- Unpins or loosens pins on all development packages
- Soft pins package dependencies to encourage adoption of bug fixes and
prevent small version mismatches

Pipenv Docs: https://docs.pipenv.org/en/latest/

Helpful Pipenv Guide: https://realpython.com/pipenv-guide/

Change-Id: I2c9cec8acf6b6c6157f807b010def873c349d3ae
2019-07-01 16:42:34 +00:00
doc Separate plugins from Spyglass 2019-05-29 10:30:14 -05:00
images/spyglass Implement Pipenv dependency management 2019-07-01 16:42:34 +00:00
spyglass Merge "Use data objects for document generation" 2019-07-01 13:51:37 +00:00
tests Use data objects for document generation 2019-06-26 12:03:40 -05:00
tools Multi multi distro support images 2019-06-07 19:15:31 +00:00
.dockerignore Base code for spyglass 2018-11-28 15:19:43 +05:30
.gitignore Base code for spyglass 2018-11-28 15:19:43 +05:30
.gitreview OpenDev Migration Patch 2019-04-19 19:52:20 +00:00
.zuul.yaml Disable voting on openSUSE 2019-06-20 13:44:29 +00:00
LICENSE Base code for spyglass 2018-11-28 15:19:43 +05:30
MANIFEST.in Remove flask YAML web editor from Spyglass 2019-04-15 18:11:51 +00:00
Makefile Add tests into Zuul config and Makefile 2019-06-17 16:09:25 +00:00
Pipfile Implement Pipenv dependency management 2019-07-01 16:42:34 +00:00
Pipfile.lock Implement Pipenv dependency management 2019-07-01 16:42:34 +00:00
README.rst Implements PBR for packaging 2019-05-10 18:49:54 +00:00
requirements.txt Implement Pipenv dependency management 2019-07-01 16:42:34 +00:00
setup.cfg Separate plugins from Spyglass 2019-05-29 10:30:14 -05:00
setup.py Implements PBR for packaging 2019-05-10 18:49:54 +00:00
tox.ini Implement Pipenv dependency management 2019-07-01 16:42:34 +00:00

README.rst

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.