deckhand/deckhand
Phil Sphicas 4ccb4368ce Barbican driver simplification
Under some circumstances, the payloads retrieved from Barbican do not
match what was stored. This primarily affects surrounding whitespace[0],
but the implications for passphrases are significant, and even for PEM
encoded data, a difference in whitespace in a configmap is enough to
trigger a chart upgrade.

In general, the effort to align Deckhand document types with Barbican
secret types adds complexity without tangible benefit. Barbican does no
enforcement of the contents of the data, and if it did, that could lead
to further incompatibilities.

This change uses the 'opaque' secret type for all secret document types.
Before storage (or caching), the payload is serialized using `repr`, and
base64 encoded. Upon retrieval, the payload is base64 decoded and parsed
back into an object with `ast.literal_eval`.

[0]: https://storyboard.openstack.org/#!/story/2007017

Change-Id: I9c2f3427f52a87aad718f95160cf688db35e1b83
2020-01-24 22:26:29 +00:00
..
barbican Barbican driver simplification 2020-01-24 22:26:29 +00:00
client Log client-id in UCP API endpoints 2019-04-05 09:55:09 +00:00
common Remove Python 2.x support 2019-10-08 12:41:12 +00:00
conf Add retries to Barbican secret create 2019-10-04 11:25:50 -05:00
control Fix encrypted doc rendering 2019-10-04 16:33:46 +00:00
db Revision diffing issue with revision rollback. 2018-11-21 11:32:16 -06:00
engine Fix encrypted doc rendering 2019-10-04 16:33:46 +00:00
policies Redacts Raw Documents 2018-10-19 23:56:12 -05:00
tests Barbican driver simplification 2020-01-24 22:26:29 +00:00
__init__.py Oslo config integration (#1) 2017-06-26 16:57:50 -07:00
cmd.py Integrate Deckhand with keystone auth 2017-10-16 19:54:46 +01:00
context.py Log client-id in UCP API endpoints 2019-04-05 09:55:09 +00:00
errors.py fix: Use schema instead of metadata.schema for replacement check 2018-10-31 15:02:28 -04:00
factories.py Adding api for revisions deep diffing 2018-09-17 17:01:34 +05:30
policy.py DECKHAND-66: Document substitution implementation 2017-10-13 15:16:27 -04:00
service.py Log client-id in UCP API endpoints 2019-04-05 09:55:09 +00:00
types.py Simplify schema validation 2018-07-03 02:07:33 +00:00