shipyard/src/bin/shipyard_airflow
anthony.bellino 00200ef98d Gate fixes for Shipyard
* Install older version of pip<21.0 for ubuntu_xenial images
* Install setuptools via pip for ubuntu_xenial images
* Pin typing-extensions to 3.7.2 and apache-airflow to 1.10.5
* Move promenade Dependencies under UCP components in requirements.txt
* With apache-airflow=1.10.5, strip ANSI escape sequences
  in test_deployment_group_manager.py
* Update tox.ini to support apache-airflow=1.10.5
* airskiff gate fixes
  - Pin treasuremap to v1.9 branch
  - Pin openstack-helm-infra to master
  - Remove openstack client setup as it's not used

Change-Id: Iee4ce59fdceacb165120a69d11c44e6e47feaea8
2021-06-25 13:15:31 -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 Accelerate YAML operations with LibYAML 2020-09-24 05:09:46 +00:00
tests Gate fixes for Shipyard 2021-06-25 13:15:31 -07: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-06-25 13:15:31 -07: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 for Shipyard 2021-06-25 13:15:31 -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