jmgilman / vaultrs

An asynchronous Rust client library for the Hashicorp Vault API
https://docs.rs/vaultrs
MIT License
99 stars 60 forks source link

Considering using an OpenAPI generated client internally #105

Open stormshield-gt opened 1 week ago

stormshield-gt commented 1 week ago

The new official vault C# client use a generated client based on the OpenAPI specs.

I think it might be a good option for us as well, both for ease of maintenance and correctness. The Rust generator is using reqwest as we already do. We could only use it internally, and keep exposing the same public API so it won't break any user code.

With that and https://github.com/jmgilman/vaultrs/issues/80, I think we could get rid of most of our unmaintained dependencies

Zoruk commented 1 week ago

It's a great Idea but I wanted to do some tests regarding this and the generated openapi.json is missing a lot of responses objects which render the generated code unusable for some endpoints.

The issue has been there for a while now I don't see any fix soon: https://github.com/hashicorp/vault/issues/11746 https://github.com/hashicorp/vault/issues/27269

stormshield-gt commented 1 week ago

Thanks a lot for digging this up! That's quite sad that they don't want to fix this. Maybe there is still some value to use the client generated request types with our handcrafted response types?

It would be interesting to see if the official openAPI generated clients, go and C#, have since implemented any workaround for the concerned endpoints.