#registry #oci #basic-auth #http-basic #podman #docker #specification

bin+lib container-registry

一个 OCIR 容器注册表的简化实现,可以作为 crate 或二进制文件使用

5 个不稳定版本

0.3.1 2024 年 8 月 14 日
0.3.0 2024 年 8 月 14 日
0.2.0 2024 年 8 月 1 日
0.1.2 2024 年 7 月 29 日

381网络编程 中排名

Download history 247/week @ 2024-07-25 165/week @ 2024-08-01 109/week @ 2024-08-08 385/week @ 2024-08-15

每月下载 906

MIT 许可证

98KB
2K SLoC

container-registry

container-registry crate 实现了一个适用于插入 axum 的最小“尽力而为”容器注册表。

功能集和标准一致性

该 crate 已从小型 PaaS rockslide 中清理和提取出来,其功能集代表了该软件的要求。虽然它试图遵循 OCI 分发清单 规范,但它主要是根据从 podmanDocker 的实际请求进行逆向工程编写的,因此,尽管它可能在某些方面违反规范,但在使用这些工具时,它肯定涵盖了基本用例。

该 crate 所涵盖的核心功能包括

  • 通过 HTTP 基本认证进行身份验证,
  • 通过 podmandocker 上传镜像,
  • 通过 podmandocker 下载镜像,以及
  • 在本地文件系统上存储容器镜像。

依赖关系

一个图像注册表不能存在于一个网络框架之外,除非它自己提供。目前,该 crate 的底层框架是 axum;虽然可以合理地添加对其他框架的支持,但目前尚未进行此类工作。

生产就绪性

该 crate 在竞争激烈的实际生产环境中尚未经过彻底的实战测试,也未经过深入审查,因此,将其用于关键任务部署可能是一个糟糕的主意。在此阶段,它应该可以作为其他非公开访问的注册表的合理替代品,并且很可能在系统级测试中履行其职责。

用作二进制文件

container-registry 包含一个基础的安装二进制文件,通过命令行暴露其大多数功能。如果启用了 bin 功能,则会自动构建。

cargo install container-registry --features bin

依赖关系

~7–11MB
~197K SLoC