repo
bk-repo是一个基于微服务架构设计的制品管理平台
- 架构层面使用spring boot+ spring cloud的技术栈,是一个kotlin作为主要的开发语言的gradle工程,微服务网关基于openresty。
- 功能层面提供各种类型的制品存储协议、制品代理、分发、晋级、扫描、包管理等。
- 存储层面制品库采用多级分层的策略去接收制品文件,使用对象存储去永久的存储制品文件,使用mongodb去存储节点信息与元数据信息,对外提供高于4个9的可用性。
Overview
制品库架构图
- 应用场景层
- oss(运营支撑)层
- 接入协议层
- 存储与调度层
Features
- auth 统一账号、权限管理,对接bk-user、bk-iam等账号权限体系
- repository 项目、仓库、节点管理、元数据管理
- generic 通用制品管理
- git git code服务
- rpm rpm包管理
- docker image、helm chart、oci 云原生镜像仓库
- npm、composer、pypi、maven、nuget依赖源微服务
- opdata 制品库admin服务
- replication 制品分发服务
- webhook服务 webhook的订阅与推送
- analyst analyst-executor 制品分析
Experience
Getting started
参考资料
https://github.com/TencentBlueKing/bk-repo