-
Notifications
You must be signed in to change notification settings - Fork 773
[Roadmap] Golang Refactoring Plan of the Whole Dragonfly Project #346
Comments
Hi I will like to work on this project in this summer can you explain me a little more about this ? |
Thanks for your interest. @TG1999 We have all details on this GitHub repo, docs, roadmap, refactoring plan, use cases and so on. In addition, if you have adopted Dragonfly, could you help to finish your details in dragonflyoss/dragonfly#219. Thanks a lot. |
I want to work on this project as a part of Alibaba summer of Code, So any kind of specifications regarding to that. I am a college student I don't use it for any organization. |
@TG1999 Thanks you greatly for participating Alibaba SoC. |
我对测试这部分比较感兴趣,之前也做过一些测试床的工作,想问下我该怎么入手呢?看了下test的issue,是要在暑假把所有的工作都完成吗还是说先写自己预期工作? |
Could you help to write a test framework for Dragonfly? And you can talk to us via dragonflyoss/dragonfly#291 for more details. @xiaoerlaigeid |
I want to work on this project in summer of code , i have woorked before on docker and with golang . |
Are you interested in a Rust version of this project or some rust components of this project? I am wondering whether this could be a project of Alibaba SoC. |
I am afraid we have not planed for this. We are trying to make it implement all project with Golang. @Shuenhoy |
@Manas-kashyap Welcome. I think we have the guidance for Alibaba Soc. You can follow that to do plans. If you have any question, please feel free to tell me. |
That's OK. I will try to find out what I can do with Golang then. |
…nflyoss#346) Signed-off-by: santong <[email protected]>
Why to refactor Dragonfly with Golang?
Dragonfly team wishes to refactor Dragonfly project with Golang. The following reasons tell why:
This issue and its sub-issues are managed by GitHub project: https://github.com/dragonflyoss/Dragonfly/projects/1
What to do to refactor Dragonfly?
Refactoring Dragonfly means that there are huge work to do for Dragonfly community. During the refactoring period, Dragonfly team emphasizes not only the code-related work, but also each of other things, which are needed for a successful cloud native open source project, such as well-designed architecture, sufficient quality guarantee, well-written kinds of documents and so on.
To be specific, Dragonfly team takes the following aspects as the urgent one to be high priority. However if you feel that other aspect also plays a big role, please do not hesitate to comment to request addition:
DFGET
dfget is the client of Dragonfly's Client/Server Architecture. It is called by
dfdaemon
and used to interact with supernode of Dragonfly.For more details about dfget's Golang refactoring, please refer to another issue .
P.S. dfget is built by golang currently, while the interact way with user and its calling API is not so ready in terms of scalability.
For more details about dfdaemon's Golang refactoring, please refer to another issue dfget refactoring details.
DFDAEMON
dfdaemon is the proxy for container engine's image pulling requests. And it calls
dfget
to distribute images from supernode.SUPERNODE
Supernode is the brain of Dragonfly. It takes over the image CDN from remote registry, and schedules peer node according the actual situation of themselves. In addition, flow control, security guarantee are also what it is responsible for. And supernode is also supposed to de designed with HA(High Availability).
For more details about supernode's Golang refactoring, please refer to another issue Supernode refactoring details.
Test
Quality is also taken serious when refactoring Dragonfly. And it is one kind of continuous work which needs persistence.
For more details about Dragonfly's test, please refer to another issue dragonfly testing details.
Document
Dragonfly Document is written, drawn, memorialized representation of all things about Dragonfly. For those who are generally interested in Dragonfly, README.md of this repo is sufficient. While for end users, all details contained in /docs is the best guide all should have. And for developers, contents in Developer Guide part is that all need.
So, all the things above are essential for documents part.
Tool Chain
Tool Chain part makes Dragonfly more general and more usable. For example, how to integrated with Harbor, deploy Dragonfly with Helm in Kubernetes, Support integration of Dragonfly and Prometheus, create a dashboard of Dragonfly to monitor for users and so on.
The text was updated successfully, but these errors were encountered: