vespa
vespa copied to clipboard
Export Vespa golang client API as a library
Is your feature request related to a problem? Please describe.
I would like to use an official / supported golang client for integrating a application written in golang. The current clients/go contains the command line utility and a bunch of very useful utility functions that should ideally be exported so that developers can use that directly rather than having to implement it from scratch using http/client.
Describe the solution you'd like
I would like to see the clients/go utility export a usable interface that can be integrated in the client applications.
Describe alternatives you've considered
- I have vendored the clients/go directory and manually edited the source to directly use the functions relevant for feeding data.
- I have also gone down the path of using the standard http client but the throttling and circuitbreaking facilities are highly desirable.
Additional context N/A
Is it primarily the feed client you're interested in? (document package: https://github.com/vespa-engine/vespa/tree/master/client/go/internal/vespa/document)
Correct, feeder is the primary use case right now. The admin functions would be low priority but nice to have eventually.
We have discussed exposing CLI as a library several times internally. The feeder might be good starting point.
start with adding feed (and possibly visit)
... and set beta/experimental, if possible ...