The company I work for is adding Vault and Consul to our production stack. Therefore we wanted to write some reusable code, for working with Vault's HTTP API from our Java and Scala-based microservices.
Engineering pitched the idea of open sourcing it to the community, and management has been very supportive. So today we would like to announce its first release and ask for feedback!
I'm sure that multiple people are working on similar efforts, and saw that one was just linked on the
Vault documentation site a couple of days ago. However, there are two different Node.js community libraries listed, so hopefully the more the merrier on the Java side too!
Some things that might make this client worth checking out include:
- This JAR has absolutely zero dependencies beyond the Java standard library. You can use any other REST client or JSON parsing libraries you want in your projects, and this library won't cause conflicts with them.
- We're striving for feature parity with the official Ruby client, and a similar feel. We've implemented configurable retry-handling for all API calls, and are loading all of the same default configuration values from environment variables.
- Basic read and write operations are currently implemented, as well as the ability to acquire tokens programmatically from the App ID or Username & Password auth backends. The ultimate goal is to implement the full HTTP API.
- There are 3 developers getting paid to work on this, and it will be used in production at scale, so it should be actively maintained.
Please let us know if you find any issues or have any suggestions! Publication of the binary artifacts to Maven Central just went through today, so it may be another day before they appear in a Maven Central query.