1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年7月31日 |
---|
#30 in #allowing
30KB
621 行
Caesium
Caesium是Rust的替代crate注册库,允许crate直接从Cargo发布。以下是Caesium的关键特性
- 它设计用于适应不同的企业系统
- 它有几个区域,模块可以实施对不同的系统支持,这些是
- 存储,crates可以存储的地方。这目前包括以下支持
- 本地文件系统
- 上传到Artifactory
- 存储,crates可以存储的地方。这目前包括以下支持
与crates.io相比,它不包含的关键区域是
- 查询crate的Web UI
- Caesium仅支持发布API
如何使用它
Caesium需要两部分,这些是
- 用于存储Cargo使用信息的Git仓库
- 实际的Caesium服务器(此应用程序)
以下部分将介绍如何设置每一部分。
设置Git索引
您需要一个包含在仓库根目录的config.json文件的Git仓库。它需要包含以下信息(请注意,这可能会随着接口的发展而变化)
{
"dl": "file:///path/to/my/crates/store",
"api": "http://127.0.0.1:3000"
}
dl
字段是上传的crate可以下载的URL,请注意,如果所有需要下载crate的机器都可以访问相同的位置,则使用基于文件的URL才有意义。
api
字段提供了访问Caesium服务器的URL的详细信息。
设置Caesium配置
Caesium从当前目录加载registry.toml作为配置,以下是一个配置示例
[registry]
index = "ssh://[email protected]/index.git"
[storage.file]
location = "/path/to/my/crates/store"
index
字段是之前步骤中设置的Git索引的URL。
配置指南
以下是配置的关键区域,加粗的项目是必填项
注册表配置 - 必填
这里只有一个索引条目,它是必填的,以下是一个示例
[registry]
index = "ssh://[email protected]/index.git"
存储配置 - 必填
存储配置包含以下选项(其中之一必须设置)
基于文件的存储
基于文件的存储只有一个键,即存储crate的位置的location
。以下是一个示例
[storage.file]
location = "/crates/storage/path"
基于Artifactory的存储
Artifactory包含以下配置
- base_url
- api_key
以下是一个示例
[storage.artifactory]
base_url = "https://artifactory.server/caesium"
api_key = "ABSSJKDNAKSNCNUuansiasncsMKA..."
服务器配置
服务器配置只有一个可选字段,这允许设置Caesium服务器设置上的端口号(默认为3000)。下面是一个示例
[server]
port = 3000
依赖项
~23–33MB
~587K SLoC