A configuration management service with support for secrets.
Go to file
Felipe Monteiro c9cdd7514c [feat] DECKHAND-38: Secrets DB model and secrets manager.
This commit adds a DocumentSecret model to the DB for
storing secrets directly in Deckhand as well as references
to secrets stored in Barbican if the encryption type
for the secret is encrypted.

This commit also adds a new class called SecretsManager
for managing the lifecycle of secrets from a higher level.

This commit also adds Postgres compliance. So now all
the DB models should work with Postgres.

Also includes unit tests.

Change-Id: Id7c4be8de2e70735f42b1f6710139d553ab4bea2
2017-09-11 12:39:38 -04:00
deckhand [feat] DECKHAND-38: Secrets DB model and secrets manager. 2017-09-11 12:39:38 -04:00
docs Expand functional tests for revision read 2017-09-01 15:21:54 -05:00
etc/deckhand DECKHAND-33: Add oslo.config options for keystone auth 2017-08-24 20:12:05 +01:00
tools Replace existing functional tests with Gabbi 2017-08-18 12:24:08 -05: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 Initial implementation of buckets 2017-08-24 20:58:26 +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
requirements.txt DECKHAND-33: Add oslo.config options for keystone auth 2017-08-24 20:12:05 +01:00
setup.cfg Oslo config integration (#1) 2017-06-26 16:57:50 -07:00
setup.py Oslo config integration (#1) 2017-06-26 16:57:50 -07:00
test-requirements.txt DECKHAND-33: Add oslo.config options for keystone auth 2017-08-24 20:12:05 +01:00
tox.ini Replace existing functional tests with Gabbi 2017-08-18 12:24:08 -05: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