my team is presently looking at this. i did some research and so far i've found that:
- depending on application, it can be trivial to use a different keystore type (see kafka's configuration support for keystore type) (plus adding the spi to the jvm configuration)
- it's up to the application to reload the keystore - ie you might need to bounce the app to reload keys if you have changed the keystore file underneath (like with consul-template)
- a vault keystore impl could work, but supporting the full keystore api is nontrivial, and testing would be application specific as to which parts of the api are needed
a potential impl plan is as follows:
- initially only support token auth.
- as pki backend is clear initial target for this, handle not being able to retrieve private key by caching it and requesting a new one if you lose it. (best case. it is possible the application will necessitate persisting the keystore to disk, which is also doable, but at that point you might have a consul-template use-case.)
like i mentioned, this can get very complicated, but with a restricted scope, i'd guess this would cover the majority of cases not already covered by other tools.
not sure if we'll go this route, but glad to have it be discussed. would certainly be more attractive if we didn't solo it haha.