#registry #file-storage #cargo #allowing #key-file #module #publshed

app caesium

Caesium是一个Rust的替代crate注册库,允许crate直接从Cargo发布

1个不稳定版本

使用旧的Rust 2015

0.1.0 2018年7月31日

#30 in #allowing

MIT许可证

30KB
621

Caesium

Caesium是Rust的替代crate注册库,允许crate直接从Cargo发布。以下是Caesium的关键特性

  • 它设计用于适应不同的企业系统
  • 它有几个区域,模块可以实施对不同的系统支持,这些是
    • 存储,crates可以存储的地方。这目前包括以下支持
      • 本地文件系统
      • 上传到Artifactory

与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