A configuration management service with support for secrets.
Clone or download
Latest commit daee3f2 Jan 20, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
deckhand schema: Fix metadata schema patterns Jan 18, 2019
doc docs(substitution): mention that all occurrences are replaced Nov 30, 2018
etc/deckhand Redacts Raw Documents Oct 20, 2018
images/deckhand Remove proxy ARG and ENV from Dockerfile Nov 16, 2018
releasenotes style(pep8): remove identation ignores Jun 1, 2018
tools CI: Fix integration job Jan 18, 2019
.coveragerc Add Deckhand coverage job Aug 15, 2017
.dockerignore Collect profile data on DH requests Feb 15, 2018
.gitignore docs: Use sphinx-apidoc library for autodoc compatibility Oct 27, 2018
.gitreview Update .gitreview for openstack infra May 17, 2018
.stestr.conf Switch to stestr Mar 28, 2018
.zuul.yaml Fix: proper ordering: tagging after build Nov 13, 2018
HACKING.rst Update url in HACKING.rst Nov 14, 2018
LICENSE Update Apache LICENSE May 10, 2018
Makefile Create Makefile target to install Helm binary Nov 9, 2018
REVIEWING.rst docs: Add developer overview documentation Jun 20, 2018
alembic.ini [396582] Add alembic support to Deckhand Apr 7, 2018
requirements.txt CI: Fix integration job Jan 18, 2019
setup.cfg Add openstack-discuss Jan 18, 2019
setup.py Oslo config integration (#1) Jun 26, 2017
test-requirements.txt fix: Pin down Deckhand package requirements Oct 18, 2018
tox.ini Add Python 3.6 classifier to setup.cfg Nov 27, 2018



Docker Repository on Quay Doc Status

Deckhand provides document revision management, storage and mutation functionality upon which the rest of the Airship components rely for orchestration of infrastructure provisioning. Deckhand understands declarative YAML documents that define, end-to-end, the configuration of sites: from the hardware -- encompassing network topology and hardware and host profile information -- up to the software level that comprises the overcloud.

Core Responsibilities

  • layering - helps reduce duplication in configuration by applying the notion of inheritance to documents
  • substitution - provides separation between secret data and other configuration data for security purposes and reduces data duplication by allowing common data to be defined once and substituted elsewhere dynamically
  • revision history - maintains well-defined collections of documents within immutable revisions that are meant to operate together, while providing the ability to rollback to previous revisions
  • validation - allows services to implement and register different kinds of validations and report errors
  • secret management - leverages existing OpenStack APIs -- namely Barbican -- to reliably and securely store sensitive data

Getting Started

For more detailed installation and setup information, please refer to the Getting Started guide.

Integration Points

Deckhand has the following integration points:


Currently, other database back-ends are not supported.

Though, being a low-level service, has many other Airship services that integrate with it, including:

  • 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.

Further Reading