Open nerophon opened 1 month ago
Pinging @elastic/fleet (Feature:Fleet)
Pinging @elastic/fleet (Team:Fleet)
Hi @nerophon, thanks for opening this issue. There's a few things to make clear for context here:
bundled.json/yaml
file provided here and present it via a dynamically generated UI. I am in full agreement that some more context around Fleet's APIs would be helpful, and I do think some "recipe" style documentation with common use cases would be a great way to improve the documentation here.
Starting from a user's perspective, we may for example wish to query which integration packages are presently installed, and if necessary install them. But nowhere is there an explanation of which series of APIs would be required to be called to achieve that.
Is this a problem that is best solved by API documentation, or by higher level explanations of Fleet's data models, relationships, etc? I'm wondering if we should solve this problem at a higher level instead of sort of building a better mental model around Fleet's data model starting at its REST API.
Arguably, use-cases could be deduced if the descriptions of the APIs were thorough; but instead they are threadbare, generally providing no further information than the name of the API itself suggests.
Improving description is an obvious win here, and this will be top of mind as we get started on https://github.com/elastic/kibana/issues/184685 above. This will also become more urgent as our new implementation of hosted API docs is rolled out. Serverless API docs are already in the process of being moved over to a new tool that's not publicly shareable yet. Check out some of the recent documentation team update emails for some more info.
Kibana version: 8.14
The documentation of the Kibana Fleet API needs significant improvement. There is an introduction here: https://www.elastic.co/guide/en/fleet/current/fleet-apis.html
Then the API can be viewed in various ways, two examples: https://www.elastic.co/guide/en/fleet/current/fleet-apis.html https://petstore.swagger.io/?url=https://raw.githubusercontent.com/elastic/kibana/master/x-pack/plugins/fleet/common/openapi/bundled.json#/
What this documentation lacks is any explanation or context around why they may be used, and what they are useful for. Starting from a user's perspective, we may for example wish to query which integration packages are presently installed, and if necessary install them. But nowhere is there an explanation of which series of APIs would be required to be called to achieve that.
Arguably, use-cases could be deduced if the descriptions of the APIs were thorough; but instead they are threadbare, generally providing no further information than the name of the API itself suggests. What is needed is a full explanation of the concepts involved, how these APIs interact, and much fuller descriptions of each call.