A configuration management service with support for secrets.
Go to file
Felipe Monteiro 81b3e42013 Revision rollback API.
This commit implements the revision rollback API, allowing
users to rollback to a previous revision, whereby a new
revision is created.

An exception (400 Bad Request) is raised if the revision being
rolled back to is identical to the latest revision or if no
changes exist between the latest revision and the one being rolled
back to.

Included in this commit:

  - API endpoint for revision rollback.
  - Back-end logic for rolling back to a previous revision.
    The associated documents are also re-recreated. The
    revision_id assigned to each document depends on whether
    it has changed between the latest revision and the one
    being rolled back to: if changed, the new revision_id
    is assigned, else the original one, to maintain the
    correct revision history.
  - Associated unit tests.
  - Unskip all associated functional tests.

Change-Id: I5c120a92e106544f7f8a4266fc386fb60622d6b3
2017-09-25 22:20:47 +01:00
deckhand Revision rollback API. 2017-09-25 22:20:47 +01:00
doc Revision diffing API. 2017-09-25 21:58:30 +01:00
etc/deckhand Fix Deckhand logging 2017-09-19 15:45:40 -04:00
tools Deckhand postgresql compatibility. 2017-09-22 19:28:47 +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 Initial implementation of buckets 2017-08-24 20:58:26 +01: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 Deckhand postgresql compatibility. 2017-09-22 19:28:47 +01:00
setup.cfg Add sphinx job for auto-generating docs 2017-09-21 16:16:23 +01:00
setup.py Oslo config integration (#1) 2017-06-26 16:57:50 -07:00
test-requirements.txt Add sphinx job for auto-generating docs 2017-09-21 16:16:23 +01:00
tox.ini Add sphinx job for auto-generating docs 2017-09-21 16:16:23 +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