10个版本 (4个重大更改)
0.5.3 | 2021年12月4日 |
---|---|
0.5.2 | 2021年12月4日 |
0.5.0 | 2021年11月29日 |
0.4.0 | 2021年11月28日 |
0.1.0 | 2021年9月28日 |
#1621 in 开发工具
每月下载 27次
110KB
2.5K SLoC
货物提升机
此项目提供了一个备用注册表的实现。它不是拥有自己的认证机制,而是使用现有的源代码控制提供者登录。这些包括
- Github
- Gitlab
- Gitea(例如codederg)
货物提升机使用访问令牌与后端交互。因此,每个动作都将被伪装。这当然需要写入权限,这也是限制的方式。
货物登录
Github
使用用户名和个人访问令牌的组合,如下所示:<username>:<token>
Gitlab
使用您的gitlab访问令牌作为货物登录令牌。
配置
配置通过JSON配置文件完成。
服务
"web": {
"port": 8080
}
存储
文件系统存储配置
"storage": {
"FileSystem": {
"path": "<path>"
}
}
S3存储配置(您可以选择省略S3访问的credentials
,因为它将默认为环境变量)
"storage": {
"S3": {
"bucket": "<bucket name>",
"credentials": {
"access_key": "<access key>",
"secret_key": "<secret key>",
"secret_token": "<optional secret token>",
}
}
}
要镜像的文件将自动放入名为mirror
的子文件夹中。
后端
Github配置
"backend": {
"Github": {
"owner": "<username>",
"repo": "<repository>",
"host": "<for future when hosting custom instance>",
"cargolifter_token": "<a token to use to merge pull requests>",
"default_branch": "<default to main>"
}
}
Gitlab配置
"backend": {
"Gitlab": {
"project_id": "<project id>",
"host": "<hosting custom instance>",
"cargolifter_token": "<a token to use to merge pull requests>",
"default_branch": "<default to main>"
}
}
注册表git仓库必须包含一个预先填充的config.json
,其中包含两种情况
{
"dl": "http://<hostname>:<port>/api/v1/crates",
"api": "http://<hostname>:<port>"
}
示例配置
{
"backend": {
"Github": {
"owner": "cemoktra",
"repo": "my-private-crates",
}
},
"web": {
"port": 8080
},
"storage": {
"FileSystem": {
"path": "./test/storage"
}
}
}
依赖关系
~34–52MB
~857K SLoC