A Vault client in Swift (for Linux, obviously).
- Connects to a running Vault
- Get Vault sealed and health status
- Set Vault token
- Retrieve info about the current token.
- Retrieve secret given unwrapped token (get generic secret)
- Renew token (extend lease)
- Get a token from an unwrapped
- Automatic periodic token renewal
- Unwrapping secrets
- Custom TLS support
Running the tests
The integration tests will spin up a Vault instance in one container, grab the credentials, and run the tests in another Linux container given the credentials.
./Scripts/start_vault.sh will spin up a Vault instance, expose it locally at port 8200 and configure it to the same state as used in integration tests. You can pass the variables printed to the unit tests, whether they are run in Xcode or on the command line.