A cluster lifecycle orchestrator for Airship.
Go to file
Anthony Lin dee8887c88 Ensure Presence of Committed Doc prior to Workflow Execution
Shipyard should (1) validate that there is a current committed version
of the documents, (2) Pass that committed version as a parameter to the
workflow, that is then used for the entire workflow.

This applies to all the current workflow, i.e. deploy_site, update_site,
redeploy_server

Note that We will remove the step to retrieve deckhand design version from
the workflow as it will be handled as part of the Shipyard Create Action
with this change.

Change-Id: Ifdbdd8f1ce1b2c6afa26fdfaee86cbb2776ca715
2018-04-25 13:55:26 +00:00
charts/shipyard Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
docs Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
etc/shipyard Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
images Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
shipyard_airflow/schemas Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
src/bin Ensure Presence of Committed Doc prior to Workflow Execution 2018-04-25 13:55:26 +00:00
tests/unit Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
tools Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
.dockerignore Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
.editorconfig Cleanup dockerfile and add editorconfig 2018-02-16 13:44:15 -06:00
.gitignore Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
.gitreview Add gitreview file 2017-08-11 01:20:56 -05:00
Makefile Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
requirements.readthedocs.txt Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
tox.ini Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00

docs/README.md

Shipyard

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

The current workflow is as follows:

  1. Inital 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.

Mission

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

Bugs

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