deckhand/deckhand/barbican
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
..
__init__.py DECKHAND-10: Add Barbican integration to Deckhand 2017-06-29 22:25:11 +01:00
cache.py Implement Barbican cache for quick secret payload/ref data 2018-08-22 16:16:26 +01:00
client_wrapper.py fix wrong spelling 2018-11-13 20:29:44 +08:00
driver.py Barbican driver simplification 2020-01-24 22:26:29 +00:00