All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
- Adding logic to check when the token is about to expire to re-connect. This fix cases for services that are running longer that token's ttl without restarting. Causing requests to get a Permission denied error.
- Returning Raw string instead of parsing. This fixes the case where secret has \$ in - Python would return $ - therefore we are calling repr
- Lazily authenticates to vault upon first vault request, instead of authentication on object creation.
delay
andtries
toVault
constructor for runtime configuration ofretry_call
delay
default to 60 seconds andtries
to 5- Changelog.md
- Removed
retry
decorator usage invault.py
- Invokes
vault_client
calls throughretry_call
instead
- Vault request timeouts as a retry-able exception type for the vault provider.
- Nested key plus default bug
- README.md spelling changes
- Vault Thread for dynamic workers pool had memory leaks, this is gargbage collected now.
- PyYaml version to v6.0.1 to address cython 3 compatibility issues
- Removed async usage throughout the project
- Vault Response Caching in the provider with a TTL
- Dispatch to get interpolated scheme instead of
- Moved pytest fixtures into a dedicated conftest.py
- Support for other non-standard database for vault plugin with un-nested data response
- TTL Renew threads handled gracefully by stopping the deamon thread
- Codecov bumped to 2.0.16
- Vault Retry Logic
- Renew TTL Token testing
- Requirements.test.txt correctly gets used
- Nested Config Override in gestalt by merging the dictionaries properly
- Exposes new public functions for merging a dictionary into another one using
merge_into
- Interpolation of providers such as Vault on
set
method in gestalt
- PyYaml version updated to v5.4.1
- Packaging of gestalt
- Vault Provider
- Abstract Base for remote (3rd) party providers
- Calls to hvac.Client
- vault_client initialization is now done using the new method of hvac
- Vault Provider code refactoring
- README.md documentation
- GitHub Actions improved for Python
- Generic Exceptions raised as RuntimeError
- Exception Handling for Vault
- Support for Vault Mount Path
- Vault Secret Fetching refactoring
- Secret Fetching converted to public method
- Vault support to Gestalt as a non breaking change
NOTE: This can be a potential breaking change depending on how glob.glob() works on your system.
- Files are now globbed and sorted before loading to ensure deterministic order.
- File extension checking for config
- Capability to load a single config file
- CVE Update for PyYaml
- Fixing build issues
- Initial Release