On 18/10/2020 16.28, Tomasz Urbaszek wrote:
Hello all,
I would like to propose a few things that I think are worth considering:
1. Merge all three repositories (kibble, kibble-scanners,
kibble-docker) into one. In this way I think we may simplify
development, dependency management, and distribution. Our project is
rather small and increasing places needing management probably won't
help.
2. Once we have the API server and scanner in one repo we can make
Kibble a python package. This will not only simplify installation and
setup but also may help us create a nice CLI to manage all components
(setup, server, scanners). By doing this users will be able to run
something like `kibble server` or `kibble scanners ponymail`.
3. Rewrite kibble API server to use a framework (for example FastAPI
which supports OpenAPI specs). This point is probably the hardest one
to implement as it will require adding tests to preserve compatibility
with kibble ui.
I'm not too concerned about breaking API, we _could_ make the next one a
version 2 with a version 2 API, a clean break from version 1. One thing
I would perhaps love to see is if we could move to or add a GraphQL
server component, if such would be possible.
Whichever framework we pick, I would prefer if we could auto-generate
the JSON/GraphQL API from the source. Part of why I built the current
"FauxpenAPI" server is to that it would do validation and autodocs. But
that was nearly four years ago, technology changes :)
What do you think? Do you have anything that you would love to see in
Apache Kibble? :)
One thing we have been forgetting for a long time is embeds, akin to
what Snoot.io uses on the projects.apache.org site. It needs to be
possible to grab a chart from the standard UI, get an embed link, and
publish it somewhere (with the appropriate caching in place for such a
request)
Cheers,
Tomek