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 aeb0c198b1 Merge "Allow user to specify token as env var" 2 years ago
charts/shipyard Merge "Add realease uuid annotation to POD spec" 2 years ago
doc Add unit tests and fix comments/samples 2 years ago
etc/shipyard Refactor shipyard to UCP target layout 3 years ago
images Update Airflow logrotate logic 2 years ago
src/bin Allow user to specify token as env var 2 years ago
tools Merge "Get password for shipyard user for special variable if it exists" 2 years ago
.dockerignore Minor: docs location fix 3 years ago
.editorconfig Fix: various documentation and URL fixes 3 years ago
.gitignore Minor: docs location fix 3 years ago
.gitreview OpenDev Migration Patch 2 years ago
.zuul.yaml Remove required-projects from Airskiff gate 2 years ago
LICENSE Add Apache 2.0 LICENSE file 3 years ago
Makefile Adding opensuse support in image building of airflow and shipyard 2 years ago
README.rst Fix: various documentation and URL fixes 3 years ago
requirements.readthedocs.txt Refactor shipyard to UCP target layout 3 years ago
tox.ini Set up publishing of docs 3 years ago



Shipyard adopts the Falcon web framework and uses Apache Airflow as the backend engine to programmatically author, schedule and monitor workflows.

Find more documentation for Shipyard on Read the Docs.

The current workflow is as follows:

  1. Initial region/site data will be passed to Shipyard from either a human operator or Jenkins
  2. The data (in YAML format) will be sent to Deckhand for validation and storage
  3. Shipyard will make use of the post-processed data from DeckHand to interact with Drydock.
  4. Drydock will interact with Promenade to provision and deploy bare metal nodes using Ubuntu MAAS and a resilient Kubernetes cluster will be created at the end of the process
  5. Once the Kubernetes clusters are up and validated to be working properly, Shipyard will interact with Armada to deploy OpenStack using OpenStack Helm
  6. Once the OpenStack cluster is deployed, Shipyard will trigger a workflow to perform basic sanity health checks on the cluster

Note: This project, along with the tools used within are community-based and open sourced.


The goal for Shipyard is to provide a customizable framework for operators and developers alike. This framework will enable end-users to orchestrate and deploy a fully functional container-based Cloud.

Getting Started

This project is under development at the moment. We encourage anyone who is interested in Shipyard to review our documentation.


If you find a bug, please feel free to create a Storyboard issue.