Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kibana low and high level language clients #36575

Closed
alexfrancoeur opened this issue May 15, 2019 · 11 comments
Closed

Kibana low and high level language clients #36575

alexfrancoeur opened this issue May 15, 2019 · 11 comments
Labels
discuss enhancement New value added to drive a business result Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

Comments

@alexfrancoeur
Copy link

alexfrancoeur commented May 15, 2019

As we continue to add more stable API's, such as our saved object management, space management and up and coming services focused on alert generation, it would be great to add standardized client libraries for these REST API's.

This would consist of a low level API (like elasticsearch-py) and a high level language client that uses the low level one (like elasticsearch-dsl), using Elasticsearch/Python as an example language client.

@karmi
Copy link

karmi commented May 28, 2019

We have talked about this topic among the clients as well, and we're all for it.

Note that the first step here is to come up with a format for the API specification. For the Elasticsearch APIs, we have a custom format, which the generators for existing language clients consume. But I think we're open to discuss a different format, eg. OpenAPI/Swagger, if it makes more sense for this particular use case.

/cc @elastic/es-clients

@philkra
Copy link

philkra commented May 28, 2019

@alexfrancoeur , I'm happy to start a discussion on this subject.

/cc @epixa

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-arch (Team:AppArch)

@epixa epixa added enhancement New value added to drive a business result Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc and removed Team:AppArch release_note:enhancement labels Dec 12, 2019
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-platform (Team:Platform)

@joshdover
Copy link
Contributor

This has come up a few times (#21424, #44620) and there seems to be a lot of interest around OpenAPI.

While there's definitely nothing stopping someone from starting on this now, our intentions here have been to wait until we could build high-quality integrations between the API spec, generated documentation, runtime request validation, and actual use of the generated API clients within Kibana's frontend code.

The Platform team definitely has an interest in making this happen and is happy to provide guidance here, but until the New Platform migration is closer to complete, I'm not sure we'll be able to help with implementing support.

@pmuellr
Copy link
Member

pmuellr commented Oct 28, 2020

re: OpenAPI, see this existing usage in ESS: https://www.elastic.co/guide/en/cloud/current/ec-openapi-specification.html

It would be interesting to play with this existing spec we have to see how easy it is to create bindings for a couple of languages. We'd at least learn where the sharp edges are in the API design.

@rudolf
Copy link
Contributor

rudolf commented Oct 28, 2020

Interesting, it would also be interesting to see how they generate the asciidocs published on our docs website.

@Mpdreamz
Copy link
Member

Our wonderful docs team has tooling to generate API reference ascii docs from OpenAPI cc @debadair

(Some of our clients also have openapi generators ready to go :))

@pgayvallet
Copy link
Contributor

FYI, I just created #82587 to discuss about the feasibility of automated OpenAPI spec generation.

@lukeelmers
Copy link
Member

@pgayvallet
Copy link
Contributor

AFAIK, lot of more recent issues have been created along the years regarding that topic. I'll close in favor of, say, #180056

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss enhancement New value added to drive a business result Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
None yet
Development

No branches or pull requests