crkit

module
v0.0.0-...-4a96f40 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2026 License: MIT

README

Crkit

Container Registry Kit — 兼容 OCI Distribution Spec V2 的制品注册中心。

支持容器镜像和任意 OCI Artifact 格式制品的存储、代理与分发。

快速开始

# 启动本地 Registry(默认监听 :5000)
crkit serve registry

# 指定端口
crkit serve registry --addr=:5070

启动后可通过标准 OCI 工具访问:

docker pull localhost:5000/library/alpine
skopeo copy alpine:latest docker://localhost:5000/library/alpine:latest

存储模式

本地存储(默认)

基于文件系统存储,无需外部依赖:

# 本地磁盘
crkit serve registry

# S3 对象存储
crkit serve registry --content-backend=s3://bucket/prefix
代理缓存

启动本地缓存层,拉取时自动回源到远程 Registry:

crkit serve registry \
  --remote-endpoint=https://docker.io \
  --remote-username=user \
  --remote-password=pass \
  --addr=:5070
直连代理

不缓存,直接代理所有请求到远程 Registry:

crkit serve registry \
  --remote-endpoint=https://docker.io \
  --no-cache \
  --addr=:5070

CLI 命令

命令 作用
serve registry 启动 Registry HTTP 服务
gc 垃圾回收:清理未被引用的孤立 Blob
upload-purger 清理超时未完成的分块上传

API

遵循 OCI Distribution Spec V2

操作 路径
列出仓库 GET /v2/_catalog
列出标签 GET /v2/{name}/tags/list
获取/推送清单 GET / PUT /v2/{name}/manifests/{reference}
下载/上传 Blob GET /v2/{name}/blobs/{digest}
分块上传 Blob POST /v2/{name}/blobs/uploads/

开发

# 构建
just build

# 运行测试
just go test

# 代码生成
just go gen

更多细节见 架构文档编码规范

Directories

Path Synopsis
deploy
internal
cmd/crkit command
+gengo:runtimedoc
+gengo:runtimedoc
pkg
apis/manifest/v1
+gengo:runtimedoc
+gengo:runtimedoc
apis/registry/v2
+gengo:runtimedoc
+gengo:runtimedoc
content
Code generated by gengo:injectable DO NOT EDIT.
Code generated by gengo:injectable DO NOT EDIT.
content/api
Code generated by gengo:injectable DO NOT EDIT.
Code generated by gengo:injectable DO NOT EDIT.
content/fs/garbagecollector
Code generated by gengo:injectable DO NOT EDIT.
Code generated by gengo:injectable DO NOT EDIT.
content/fs/uploadpurger
Code generated by gengo:injectable DO NOT EDIT.
Code generated by gengo:injectable DO NOT EDIT.
driver
Code generated by gengo:injectable DO NOT EDIT.
Code generated by gengo:injectable DO NOT EDIT.
endpoints/registry/v2
+gengo:runtimedoc
+gengo:runtimedoc
oci
registryhttp
Code generated by gengo:injectable DO NOT EDIT.
Code generated by gengo:injectable DO NOT EDIT.
registryhttp/apis/registry
+gengo:operator:register=R
+gengo:operator:register=R
tool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL