Metadata-Version: 2.1
Name: Deckhand
Version: 0.0.1.dev715
Summary: Storage service for YAML-based configuration documents, which are managed through version control and automatically validated.
Home-page: https://airship-deckhand.readthedocs.io/
Author: The Airship Authors
Author-email: airship-discuss@lists.airshipit.org
License: UNKNOWN
Platform: UNKNOWN
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Dist: Paste (==3.0.1)
Requires-Dist: PasteDeploy (==1.5.2)
Requires-Dist: Routes (==2.4.1)
Requires-Dist: Werkzeug (==0.16.1)
Requires-Dist: alembic (==1.0.1)
Requires-Dist: amqp (<2.7,>=2.6.0)
Requires-Dist: beaker (==1.10.0)
Requires-Dist: cryptography (>=2.7)
Requires-Dist: deepdiff (==3.3.0)
Requires-Dist: falcon (==1.4.1)
Requires-Dist: hacking (<3.1.0,>=3.0.1)
Requires-Dist: jsonpath-ng (==1.4.3)
Requires-Dist: jsonschema (<4,>=3.0.1)
Requires-Dist: keystoneauth1 (>=3.18.0)
Requires-Dist: keystonemiddleware (==5.3.0)
Requires-Dist: kombu (<4.7,>=4.6.10)
Requires-Dist: networkx (==2.2)
Requires-Dist: oslo.cache (==1.38.1)
Requires-Dist: oslo.concurrency (==3.28.1)
Requires-Dist: oslo.config (==7.0.0)
Requires-Dist: oslo.context (>=2.21.0)
Requires-Dist: oslo.db (==4.41.1)
Requires-Dist: oslo.log (==3.45.2)
Requires-Dist: oslo.messaging (==9.1.1)
Requires-Dist: oslo.middleware (==3.36.0)
Requires-Dist: oslo.policy (==1.40.1)
Requires-Dist: oslo.serialization (==2.29.2)
Requires-Dist: oslo.utils (==3.42.1)
Requires-Dist: pbr (==5.4.5)
Requires-Dist: psycopg2-binary (==2.8.4)
Requires-Dist: pylibyaml (~=0.1)
Requires-Dist: python-barbicanclient (==4.7.0)
Requires-Dist: python-dateutil (>=2.8.1)
Requires-Dist: python-keystoneclient (==3.22.0)
Requires-Dist: python-memcached (==1.59)
Requires-Dist: pyyaml (~=5.1)
Requires-Dist: six (>=1.15.0)
Requires-Dist: stevedore (>=1.30.0)
Requires-Dist: urllib3 (==1.25.9)
Requires-Dist: uwsgi (~=2.0.19.1)

========
Deckhand
========

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

* Free software: Apache license
* Documentation: https://airship-deckhand.readthedocs.io/en/latest/
* Source: https://git.openstack.org/cgit/openstack/airship-deckhand
* Bugs: https://storyboard.openstack.org/#!/project/1004
* Release notes: https://airship-deckhand.readthedocs.io/en/latest/releasenotes/index.html

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

.. _Barbican: https://docs.openstack.org/barbican/latest/api/

Getting Started
===============

For more detailed installation and setup information, please refer to the
`Getting Started <https://airship-deckhand.readthedocs.io/en/latest/getting-started.html>`_
guide.

Integration Points
==================

Deckhand has the following integration points:

  * `Barbican (OpenStack Key Manager) <https://github.com/openstack/barbican>`_
    provides secure storage for sensitive data.
  * `Keystone (OpenStack Identity service) <https://github.com/openstack/keystone>`_
    provides authentication and support for role based authorization.
  * `PostgreSQL <https://www.postgresql.org>`_ is used to persist information
    to correlate workflows with users and history of workflow commands.

  .. note::

    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 <https://github.com/openstack/airship-drydock>`_ is orchestrated by
    Shipyard to perform bare metal node provisioning.
  * `Promenade <https://github.com/openstack/airship-promenade>`_ is indirectly
    orchestrated by Shipyard to configure and join Kubernetes nodes.
  * `Armada <https://github.com/openstack/airship-armada>`_ is orchestrated by
    Shipyard to deploy and test Kubernetes workloads.

Further Reading
===============

`Airship`_.

.. _Airship: https://www.airshipit.org

.. |Docker Repository on Quay| image:: https://quay.io/repository/airshipit/deckhand/status
   :target: https://quay.io/repository/airshipit/deckhand
.. |Doc Status| image:: https://readthedocs.org/projects/airship-deckhand/badge/?version=latest
   :target: https://airship-deckhand.readthedocs.io/



