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

Refactor Apache Kibble project #64

Open
1 of 7 tasks
turbaszek opened this issue Oct 19, 2020 · 7 comments
Open
1 of 7 tasks

Refactor Apache Kibble project #64

turbaszek opened this issue Oct 19, 2020 · 7 comments

Comments

@turbaszek
Copy link
Member

turbaszek commented Oct 19, 2020

Refactor Apache Kibble project

This is an umbrella issue for collecting ideas and managing the work that has to be done.
Dev list thread: https://lists.apache.org/thread.html/r3f373be93397fc55ad6aff11030d2f3eb93f0f34782ff58fba9325b1%40%3Cdev.kibble.apache.org%3E

1. General refactor

2. Rewrite API server

  • Add tests for API endpoints to help us preserve backward compatibility and to limit the scope of work to backend stuff. The frontend can be done in future. Having the open API spec we should be able to generate some part of required code.
  • Decide which framework we would like to use. The main requirement is that it should work with the existing OpenAPI spec and should do automagically as much as possible.
  • Rewrite all endpoint to use new framework

Additional considerations

  • Consider implementing GraphQL server
  • Schedule kibble scanners using celery beat
@auvipy
Copy link

auvipy commented Oct 21, 2020

what about considering JSON-API 1.1rc+++ instead of GraphQL server?

@turbaszek
Copy link
Member Author

what about considering JSON-API 1.1rc+++ instead of GraphQL server?

@auvipy thanks for the suggestion! I will take a look at that 👍 But you reminded me that we may also consider running kibble scanners using celery / airflow.

@auvipy
Copy link

auvipy commented Oct 21, 2020

ahh 🗡️

@skekre98
Copy link
Contributor

Hi, I would be interested in helping build out the cli for kibble. I have experience building out command line interfaces in Golang as well as Python. Willing to help out wherever needed.

@turbaszek
Copy link
Member Author

turbaszek commented Oct 24, 2020

Hi, I would be interested in helping build out the cli for kibble. I have experience building out command line interfaces in Golang as well as Python. Willing to help out wherever needed.

Awesome @skekre98 ! What do you think about using https://click.palletsprojects.com/en/7.x/ ?
The cli should be launched here:
https://github.com/apache/kibble/blob/edb9a91165ff3e3eebbee99db6c86ddf87c362f4/kibble/__main__.py#L18-L23
so users can do kibble command --flags --and-more

@skekre98
Copy link
Contributor

Sure @turbaszek, will finish up KibbleConfigParser and then take a stab at this.

@michalslowikowski00
Copy link
Contributor

This step: Make kibble a package is done. 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants