A cluster lifecycle orchestrator for Airship.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Zuul fa55f5697e Merge "Change message when no nodes found during update" 2 years ago
..
alembic Add notes common code for Shipyard 3 years ago
etc/shipyard Add unit tests and fix comments/samples 2 years ago
generator Refactor shipyard to UCP target layout 3 years ago
shipyard_airflow Merge "Change message when no nodes found during update" 2 years ago
tests Add unit tests and fix comments/samples 2 years ago
.coveragerc Set ULID of action on DAG request 3 years ago
README.md Fix: various documentation and URL fixes 3 years ago
alembic.ini Refactor shipyard to UCP target layout 3 years ago
entrypoint.sh Refactor shipyard to UCP target layout 3 years ago
requirements.txt Airflow: Update Deckhand / Drydock version 2 years ago
setup.cfg Enable shipyard to use PBR 3 years ago
setup.py Enable shipyard to use PBR 3 years ago
test-requirements.txt Merge "Support clearing collections of configdocs" 3 years ago
tox.ini Fix: use python3 for shipyard_airflow 2 years ago

README.md

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:

Designs and Secrets
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.
The designs and secrets are stored in Airship's Deckhand, providing for version history and secure storage among other document-based conveniences.
Actions
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.

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:

Shipyard @ Openstack Gerrit
Helm chart

See also:

Airship in a Bottle