A configuration management service with support for secrets.
Go to file
Felipe Monteiro d2d2312af9 DECKHAND-66: Document substitution implementation
This PS implements documentation substitution and
the rendered-documents endpoint. Each time the
rendered-documents is queried, the documents for
the reqeust revision_id dynamically undergo
secret substitution.

All functional tests related to secret substitution
have been unskipped.

Deckhand currently does not real testing for
verifying that secret substitution works
for encrypted documents. This will only happen
when integration testing is added to Deckhand to
test its interaction with Keystone and Barbican.

Included in this PS:
  - basic implementation for secret substitution
  - introduction of jsonpath_ng for searching for and
    updating jsonpaths in documents
  - rendered-documents endpoint
  - unit tests
  - all relevant functional tests unskipped
  - additional bucket controller tests include RBAC
    tests and framework testing RBAC via unit tests

Change-Id: I86f269a5b616b518e5f742a4005891412226fe2a
2017-10-13 15:16:27 -04:00
deckhand DECKHAND-66: Document substitution implementation 2017-10-13 15:16:27 -04:00
doc DECKHAND-66: Document substitution implementation 2017-10-13 15:16:27 -04:00
etc/deckhand DECKHAND-66: Document substitution implementation 2017-10-13 15:16:27 -04:00
releasenotes DECKHAND-66: Document substitution implementation 2017-10-13 15:16:27 -04:00
tools DECKHAND-61: oslo.policy integration 2017-10-07 18:43:28 +01:00
.coveragerc Add Deckhand coverage job 2017-08-15 16:11:35 -04:00
.gitignore Add Deckhand coverage job 2017-08-15 16:11:35 -04:00
.gitreview Add gitreview file 2017-08-11 01:22:26 -05:00
.testr.conf [feat] DECKHAND-28: Document pre-validation logic and API integration 2017-08-08 18:52:44 +01:00
AUTHORS DECKHAND-66: Document substitution implementation 2017-10-13 15:16:27 -04:00
Dockerfile DeckHand Dockerfile 2017-09-14 16:50:06 +00:00
HACKING.rst Add sphinx job for auto-generating docs 2017-09-21 16:16:23 +01:00
LICENSE Initial commit 2017-06-16 08:29:03 -07:00
README.rst [feat] DECKHAND-28: Document pre-validation logic and API integration 2017-08-08 18:52:44 +01:00
entrypoint.sh DeckHand Dockerfile 2017-09-14 16:50:06 +00:00
requirements.txt Support filtering revision (documents) by any legal filter 2017-10-06 16:48:45 -04:00
setup.cfg DECKHAND-61: oslo.policy integration 2017-10-07 18:43:28 +01:00
setup.py Oslo config integration (#1) 2017-06-26 16:57:50 -07:00
test-requirements.txt Add releasenote management 2017-10-03 20:58:12 +01:00
tox.ini DECKHAND-61: oslo.policy integration 2017-10-07 18:43:28 +01:00

README.rst

Deckhand

A foundational python REST YAML processing engine providing data and secrets management to other platform services.

To generate a configuration file automatically:

$ tox -e genconfig

Resulting deckhand.conf.sample file is output to :path:etc/deckhand/deckhand.conf.sample

Copy the config file to a directory discoverably by oslo.conf:

$ cp etc/deckhand/deckhand.conf.sample ~/deckhand.conf

To setup an in-memory database for testing:

[database]

#
# From oslo.db
#

# The SQLAlchemy connection string to use to connect to the database.
# (string value)
connection = sqlite:///:memory:

To run locally in a development environment:

$ sudo pip install uwsgi
$ virtualenv -p python3 /var/tmp/deckhand
$ . /var/tmp/deckhand/bin/activate
$ sudo pip install .
$ sudo python setup.py install
$ uwsgi --http :9000 -w deckhand.cmd --callable deckhand_callable --enable-threads -L