shipyard/src/bin/shipyard_airflow
Rick Bartra 35e5a7f796 Update pip package versions in preparation of pip 20.3
When pip is upgraded to 20.3, the pip dependency resolver is much more
strict and will no longer install a combination of packages that is mutually
inconsistent[0].

These changes account for the fact that Shipyard imports Armada, Drydock,
Promenade, and Deckhand. Having said that, with pip 20.3, the pip
packages amongst those projects cannot conflict. A follow-up change may
be needed if more conflicts are found.

Change-Id: Idd9ea0d57b5be063b133036cfc9ebaa69956f4fc
2020-09-30 01:19:51 +00:00
..
alembic Add notes common code for Shipyard 2018-10-05 15:40:48 -05:00
etc/shipyard Add unit tests and fix comments/samples 2019-05-29 15:02:59 -05:00
generator Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
shipyard_airflow Accelerate YAML operations with LibYAML 2020-09-24 05:09:46 +00:00
tests Accelerate YAML operations with LibYAML 2020-09-24 05:09:46 +00:00
.coveragerc Set ULID of action on DAG request 2018-08-10 10:23:30 -05:00
README.rst Add support for Ubuntu bionic base image 2020-02-04 13:38:39 -06:00
alembic.ini Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
entrypoint.sh Override uwsgi default config 2020-08-06 02:14:07 +00:00
requirements.txt Update pip package versions in preparation of pip 20.3 2020-09-30 01:19:51 +00:00
setup.cfg Add support for Ubuntu bionic base image 2020-02-04 13:38:39 -06:00
setup.py Enable shipyard to use PBR 2018-10-25 14:23:50 +00:00
test-requirements.txt Update pip package versions in preparation of pip 20.3 2020-09-30 01:19:51 +00:00
tox.ini fix: Gate fix for Shipyard docs and pep8 gates 2020-09-15 18:16:45 +00:00

README.rst

Shipyard

Shipyard is the directed acyclic graph controller for Kubernetes and OpenStack control plane life cycle management, and a component of the Airship Undercloud Platform (UCP).

Shipyard provides the entrypoint for the following aspects of the control plane established by the Airship:

<dt>
    Designs and Secrets
</dt>
<dd>
    Site designs, including the configuration of bare metal host
    nodes, network design, operating systems, Kubernetes nodes,
    Armada manifests, Helm charts, and any other descriptors that
    define the build out of a group of servers enter the Airship via
    Shipyard. Secrets, such as passwords and certificates use the
    same mechanism. <br />
    The designs and secrets are stored in Airship's Deckhand,
    providing for version history and secure storage among other
    document-based conveniences.
</dd>
<dt>
    Actions
</dt>
<dd>
    Interaction with the site's control plane is done via
    invocation of actions in Shipyard. Each action is backed by
    a workflow implemented as a directed acyclic graph (DAG) that
    runs using Apache Airflow. Shipyard provides a mechanism to
    monitor and control the execution of the workflow.
</dd>

Find more documentation for Shipyard on Read the Docs

Integration Points:

OpenStack Identity (Keystone) provides authentication and support for role based authorization
Apache Airflow provides the framework and automation of workflows provided by Shipyard
PostgreSQL is used to persist information to correlate workflows with users and history of workflow commands
Deckhand supplies storage and management of site designs and secrets
Drydock is orchestrated by Shipyard to perform bare metal node provisioning
Promenade is indirectly orchestrated by Shipyard to configure and join Kubernetes nodes
Armada is orchestrated by Shipyard to deploy and test Kubernetes workloads

Getting Started:

See also:

Airship in a Bottle