shipyard/src/bin/shipyard_airflow
Phil Sphicas 0b985d60a9 Gate fixes: remove py35, make xenial non-voting
Update Zuul config and tox settings to not run python3.5 jobs, and to
make the xenial image jobs non-voting.

Change-Id: Icc9f71e60e6b48254917ea1d41ce9bc823cce512
2021-10-18 12:43:13 -07: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 Remove Helm 2 based Armada integrations 2021-10-04 15:03:04 -05:00
tests Remove Helm 2 based Armada integrations 2021-10-04 15:03:04 -05: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 Gate fixes for Shipyard 2021-09-09 20:23:05 +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 Gate fixes for Shipyard 2021-06-25 13:15:31 -07:00
tox.ini Gate fixes: remove py35, make xenial non-voting 2021-10-18 12:43:13 -07: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