amperity / vault-clj

Clojure client for Hashicorp's Vault secret management system.
Other
70 stars 17 forks source link

Transit engine polish #103

Closed greglook closed 12 months ago

greglook commented 12 months ago

This PR focuses on the Transit secrets engine implementation. There are a few bug fixes (several methods did not properly coerce their responses) and two significant behavioral changes.

First, all inputs that need to be sent as a base64 string are automatically encoded by the client, rather than requiring the caller to do so. Similarly, when decrypting data the result is automatically decoded from base64 into a byte array, or the caller can now also opt into string-coercion.

Second, the encryption and decryption batch modes are directly invoked by providing a collection of data rather than a single item, which is much more natural than passing a nil for the data and then specifying a separate :batch-input option. The docstrings have been updated to clarify the two calling styles.

Finally, I added integration tests covering all of the implemented methods.