Releases: dragonflyoss/dragonfly
v2.0.0
Dragonfly v2.0.0 is released! 🎉🎉🎉 As a CNCF incubation project, Dragonfly has been upgraded to version 2.0.0 after a year of work, and the project repo has also been migrated from Dragonfly to Dragonfly2. Thanks to the contributors who participated in the development of Dragonfly v2.0.0 in the past year, and also thanks to the contributors of version v1.0.0. In the future, Hope that more community coders will participate in maintenance in the future!
Features
- Implement P2P files distribution with various storage types (HDFS, storage services from various cloud vendors, Maven, Yum, etc.) through a unified back-to-source adapter layer.
- Support more distribution modes: active pull, active push, real-time synchronization, remote replication, automatic warm-up, cross-cloud transmission, etc.
- Provide separation and decoupling between systems, scheduling and plug-in CDN. Support on-demand deployment with flexible types: light or heavy, inside or outside, to meet the actual needs of different scenarios.
- Newly designed P2P protocol framework based on GRPC with improved efficiency and stability.
- Perform encrypted transmission, account-based transmission authentication and rate limit, and multi-tenant isolation mechanism.
- Bear more efficient IO methods: multithreaded IO, memory mapping, DMA, etc.
- Advocate dynamic compression, in-memory file systems, and more efficient scheduling algorithms to improve distribution efficiency.
- Client allows third-party software to natively integrate Dragonfly’s P2P capabilities through C/S mode.
- Productivity: Support file uploading, task management of various distribution modes, data visualization, global control, etc.
- Enhanced integration with ecology: Harbor, Nydus (on-demand image download), warehouse services for various cloud vendors, etc.
Dragonfly v2.0.0 版本正式发布!🎉🎉🎉 Dragonfly 作为 CNCF 孵化项目经过一年的时间进行了大版本的升级,项目仓库也从 Dragonfly 进行了迁移到了 Dragonfly2。感谢过去一年当中参与开发 Dragonfly v2.0.0 的贡献者们,当然也感谢 v1.0.0 版本的贡献者们的付出,未来期望更多的社区同学参与共同维护!
新功能
- 基于统一的回源适配层实现各种存储类型(HDFS、各云厂商的存储服务、Maven、Yum等)的 P2P 文件分发。
- 支持更多分发方式:主动拉取、主动推送、实时同步、远程复制、自动预热、跨云传输等。
- 支持按需部署,类型灵活:轻重、内、外,满足不同场景的实际需求。
- 全新设计的基于 GRPC 的 P2P 协议框架,提高了效率和稳定性。
- 加密传输、基于账户的传输认证、限速和多租户隔离机制。
- 更高效的 IO 方式:多线程 IO、内存映射、DMA 等。
- 动态压缩、内存文件系统以及更高效的调度算法。
- 客户端允许第三方软件通过 C/S 模式集成 Dragonfly 的 P2P 能力。
- 支持文件上传、多种分发方式的任务管理以及数据可视化等。
- 生态的融合:Harbor、Nydus(图片按需下载)、各云厂商的仓库服务等。
v0.5.0
Changelog
d2e70b2 chore: add compatibility test workflow (#594)
f208dd7 feat: add sni proxy support (#600)
c08a857 feat: client back source (#579)
6ace52e feat: compatibility e2e with matrix (#599)
1186aef feat: enable manager user's features (#598)
2e3ade8 fix: preheat-e2e timeout (#602)
0f35c8f fix: use string slice for header (#601)
b3f7ba3 switch to distribution v3 (#597)
v0.4.0
Changelog
dabf9c3 Add preheat e2e test (#582)
fa22d7c Check free space when registering task (#585)
86c90ea Framework refactor (#590)
c955317 Optimize backsource logic and report peer result (#589)
9047f42 add oauth support
e028630 add setting support
cdda432 add unittest for RandString
53edd6d chore: add copyright (#593)
2bce7b3 feat: add oauth2 signin (#591)
261ff0b feat: add time out when register (#588)
ac65c1b feat: change scheduler cluster query params (#596)
863e943 feat: skip verify when back to source (#586)
4a889fb feat: support limit from dfget client (#578)
6bb33f5 feat: update charts submodule (#583)
1d038fa feat: update scheduler cluster query params (#587)
41af67f fix a secure issue
4cac747 fix bug
6083234 fix lint error
6c66fb8 fix lint error
8ddefea fix lint error
2a77eb0 fix lint error
80971e5 fix lint issue
3ac5a36 fix some issue
815dcd6 fix some issue
1e42522 fix typo
2946fd2 refactor: rbac
c302543 refactor: user interface
48ba222 update Oauther interface
c3dfd3a update oauth to use oauth2 library
cedf68a update user reset password
v0.3.0
Changelog
f180bd1 Add a function to check task existence in cdn (#570)
762454c feat: add cdn cluster id for scheduler cluster (#580)
997a720 feat: add manager cors middleware (#573)
2621b5e feat: change rabc code struct (#552)
70e5412 feat: gin log to file (#574)
f0f55db feat: start process (#572)
64e83a9 fix: use getTask instead of taskStore.Get, for the error cause type (#571)
v0.2.0
Changelog
d74f830 Add CDN Tracer (#555)
4bcc971 Add docker compose for deploying (#478)
ea0ae4f Add rbac support (#474)
ec0632d Adjust package structure (#539)
25d58d4 Feature: Add manager charts with submodule (#525)
83cd262 Feature: support customize base image (#519)
c0bc4a9 Feature: support mysql 5.6 (#520)
c34a6e7 Feature: update helm charts submodule (#567)
14f5bc3 Fix gin potential security vulnerabilities (#505)
f98401d Fix: proxy for stress testing tool (#507)
71ec3a1 Method update to unanimous (#535)
f535dfb Refactor scheduler (#369)
fb54969 Reload CDN client (#566)
733962f Rescheduler parent/children later when no candidates and add schedule log (#497)
b36bd74 chore: optimize client rpc package name and other docs (#541)
e464523 chore: optimize compute piece size function (#528)
339bf39 chore: optimize grpc interceptor code (#536)
2dd969c chore: optimize peer task report function (#543)
40b9c06 chore: rename cdn server package to rpcserver (#554)
440f888 chore: set GOPROXY with default value (#463)
0cc52f5 feat: Add distribute Schedule Tracer & Refactor scheduler (#537)
2b18530 feat: Add schedule log (#495)
e655635 feat: Add stress testing tool for daemon (#506)
b2ca351 feat: CDN implementation supports HDFS type storage (#420)
c0e41ea feat: Extract peer event processing function (#489)
28999b2 feat: add artifacthub badge (#524)
7a3088e feat: add console (#559)
4ca37e7 feat: add console submodule (#549)
2c5fc97 feat: add host info for scheduler and cdn (#457)
6386cae feat: add is_default to scheduler_cluster table (#458)
7659def feat: add searcher to scheduler cluster (#462)
86620ca feat: add task manager (#490)
85bfa36 feat: back source when no available peers or scheduler error (#521)
f73fc50 feat: empty scheduler job (#565)
5478d8e feat: generate swagger api (#557)
b1d88d6 feat: optimize get permission name (#548)
bb62211 feat: optimize jwt (#476)
dddf241 feat: optimize manager startup process (#562)
8efafd8 feat: optimize scheduler dynconfig (#480)
f530cb8 feat: optimize scheduler start server (#558)
cffe414 feat: register service to manager (#475)
13526cd feat: rename manager grpc (#510)
0e4f057 feat: rename search file to searcher (#484)
5286be0 feat: rename task to job (#544)
f59bf40 feat: scheduler get�evaluator lock (#502)
e04408f feat: update cdn host (#530)
c5557c7 feat: update git submodule (#560)
2bbcd97 feature: add multiple registry mirrors support (#479)
c1c3d65 feature: enable grpc tracing (#531)
b5db0ad feature: optimize manager project layout (#540)
70e4207 feature: remove proto redundant field (#508)
0c24c87 feature: update multiple registries support docs (#481)
11acf4f fix: address typo (#468)
dfb7f1e fix: adjust dfget download log (#564)
55e8245 fix: cdn back source range size overflow (#550)
fc3d65c fix: dead lock when pt.failedPieceCh is full (#466)
8c76ef4 fix: generate proto file (#483)
a5e4b0e fix: scheduler concurrent dead lock (#509)
fbbfcd3 fix: scheduler pick candidate and associate child encounter dead lock (#500)
8380b21 fix: wait available peer packet panic (#561)
cc3c61f fix: wrong content length in proxy
fea504f fix:GOPROXY var (#488)
9a0d057 let cdn support sha256 (#517)
a5e9510 refactor: manager server new instance (#464)
59a40f9 scheduler concurrent bug fix (#513)
v0.1.0
Changelog
4bcc971 Add docker compose for deploying (#478)
ea0ae4f Add rbac support (#474)
83cd262 Feature: support customize base image (#519)
c0bc4a9 Feature: support mysql 5.6 (#520)
14f5bc3 Fix gin potential security vulnerabilities (#505)
f98401d Fix: proxy for stress testing tool (#507)
0465aba Merge branch 'main' of github.com:dragonflyoss/Dragonfly2 into feature/charts
4ff9527 Merge branch 'main' of github.com:dragonflyoss/Dragonfly2 into feature/charts
73365e1 Merge branch 'main' of github.com:dragonflyoss/Dragonfly2 into feature/charts
f535dfb Refactor scheduler (#369)
733962f Rescheduler parent/children later when no candidates and add schedule log (#497)
9777e37 chore: add charts submodule
282378a chore: add workflow docker build context
0d1018c chore: docker with submodules
a511a5f chore: helm charts
861873b chore: helm install with dependency
e464523 chore: optimize compute piece size function (#528)
4833e98 chore: release workflow add checkout submodules
440f888 chore: set GOPROXY with default value (#463)
dffce9f chore: workflows checkout with submodules
2b18530 feat: Add schedule log (#495)
e655635 feat: Add stress testing tool for daemon (#506)
b2ca351 feat: CDN implementation supports HDFS type storage (#420)
c0e41ea feat: Extract peer event processing function (#489)
2c5fc97 feat: add host info for scheduler and cdn (#457)
6386cae feat: add is_default to scheduler_cluster table (#458)
7659def feat: add searcher to scheduler cluster (#462)
86620ca feat: add task manager (#490)
85bfa36 feat: back source when no available peers or scheduler error (#521)
854657c feat: chart values
369c74f feat: charts submodules
83bac3b feat: file image
de6f085 feat: init id
c92cd0a feat: kind load manager
e14bde9 feat: manager
91b91e6 feat: manager grpc
bb62211 feat: optimize jwt (#476)
8efafd8 feat: optimize scheduler dynconfig (#480)
cffe414 feat: register service to manager (#475)
13526cd feat: rename manager grpc (#510)
0e4f057 feat: rename search file to searcher (#484)
9b707ba feat: scheduler dynconfig expire time
f59bf40 feat: scheduler get�evaluator lock (#502)
a6f0558 feat: select with cluster id
3359877 feat: stop task
4be8c7d feat: sub module
05f56c7 feat: sub project
f2c9cd4 feat: sub project
e3d93e0 feat: sub project commit
96bc921 feat: submodule
50f8ac9 feat: subproject commit
de25ae5 feat: subproject commit
e04408f feat: update cdn host (#530)
4559367 feat: use cdn ip
2bbcd97 feature: add multiple registry mirrors support (#479)
c1c3d65 feature: enable grpc tracing (#531)
70e4207 feature: remove proto redundant field (#508)
0c24c87 feature: update multiple registries support docs (#481)
11acf4f fix: address typo (#468)
fc3d65c fix: dead lock when pt.failedPieceCh is full (#466)
8c76ef4 fix: generate proto file (#483)
a5e4b0e fix: scheduler concurrent dead lock (#509)
fbbfcd3 fix: scheduler pick candidate and associate child encounter dead lock (#500)
fea504f fix:GOPROXY var (#488)
9a0d057 let cdn support sha256 (#517)
a5e9510 refactor: manager server new instance (#464)
59a40f9 scheduler concurrent bug fix (#513)