weekly
weekly copied to clipboard
【开源自荐】Sigma:自主研发的 OCI-Native 镜像制品仓库
为什么自研 sigma?
开发 sigma 的最初的想法是是降低 Harbor 组件部署的复杂度,并且在高可用的角度又不失其架构优势。sigma 希望在制品元数据管理、权限管理、制品分发、部署和维护容易程度这四个方面都做到最好,并且在一开始设计 sigma 的时候就对这几方面做出思考。
并且完全不依赖 distribution,使得可以做到 all-in-one 的部署。
特点
部署架构
sigma 在部署层面上最简化可以做到单文件单个启动命令,将前端、镜像清理和镜像构建等异步任务服务以及镜像元数据管理等服务启动起来,并且仅依赖文件系统即可。 在高可用部署的情况下,可以将前端、镜像元数据管理、镜像清理和镜像构建等异步任务服务等分别作为单独的服务运行,api-server 与镜像元数据管理服务分别单独部署,主要在于镜像元数据管理服务会参与到镜像的拉取和推送服务中,涉及到的流量较大,这样便不会影响到 api-server 的稳定性,依赖的中间件将会有对象存储、Redis、PostgreSQL/MySQL。具体部署细节可以参考 sigma chart 中的实现:https://github.com/go-sigma/sigma/tree/main/deploy/sigma。
distribution-spec 1.1 的支持
distribution 目前尚未支持 distribution-spec 1.1 定义的内容,目前 Harbor 和 zot 都是实现了的,sigma 也对 distribution-spec 1.1 做了实现,并且在镜像清理中会检查 referrer 的内容,当 artifact 被删除的时候会连同之前其 artifact 的其他 artifact 全部删除。
更多特性可以看这里:https://docs.sigma.tosone.cn/zh/blog
预览
链接
项目地址:https://github.com/go-sigma/sigma 文档地址:https://docs.sigma.tosone.cn/ Demo 地址:https://sigma.tosone.cn/ username/password: sigma/Admin@123