镜像
仓库镜像的状态,以及镜像所跟踪的变更流。
本组中的操作及其访问规则、重试规则、参数和响应。每个请求都需携带密钥:Authorization: Bearer <密钥>(参见“身份验证”)。
操作
列出此安装的镜像和导入
GET HEAD /api/v1/mirrors
访问: 调用方可见的仓库(repository.read) · 重试: 可安全重试(读取)
对于此服务器从另一个 Arkvory 镜像或导入、且调用方可读取的每个仓库,返回与单个仓库镜像状态相同的信息:来源、mode、phase、cursor 和 head、caughtUp、最近一次检查、同步和错误,以及已复制的制品数和字节数。调用方无法读取的仓库会被省略;没有镜像的安装返回空列表。
响应 200
| 字段 | 类型 | 必需 | 规则 |
|---|---|---|---|
items | 数组(object) | 是 | 最多 64 项 |
items[].repository | string | 是 | — |
items[].upstream | string (uri) | 是 | — |
items[].sourceRepository | string | 是 | — |
items[].mode | string | 是 | 取值之一:mirror, import |
items[].stages | 数组(string) | 是 | 最多 16 项 |
items[].phase | string | 是 | 取值之一:pending, seeding, following |
items[].seedStep | string | 是 | 取值之一:artifacts, packages, assets; 可以为 null |
items[].cursor | string | 是 | 用十进制数字表示的整数,以字符串形式发送 |
items[].head | string | 是 | 用十进制数字表示的整数,以字符串形式发送; 可以为 null |
items[].caughtUp | boolean | 是 | 可以为 null |
items[].checkedAt | string (date-time) | 是 | 可以为 null |
items[].syncedAt | string (date-time) | 是 | 可以为 null |
items[].errorCode | string | 是 | 可以为 null |
items[].errorAt | string (date-time) | 是 | 可以为 null |
items[].copiedArtifacts | integer | 是 | 不小于 0 |
items[].copiedBytes | string | 是 | 用十进制数字表示的整数,以字符串形式发送 |
items[].conflicts | object | 是 | — |
items[].conflicts.count | integer | 是 | 不小于 0 |
items[].conflicts.oldestAt | string (date-time) | 是 | 可以为 null |
items[].conflicts.sample | 数组(object) | 是 | 最多 10 项 |
响应: 200, 400, 401, 403, 404, 409, 422, 503, 507
示例
bash
curl -X GET "$ARKVORY_URL/api/v1/mirrors" \
-H "Authorization: Bearer $ARKVORY_TOKEN"获取镜像的同步状态
GET HEAD /api/v1/repositories/{repository}/mirror
访问: 仓库权限:repository.read; 文件密钥:read · 重试: 可安全重试(读取)
对于本服务器从另一个 Arkvory 镜像的仓库(在 ARKVORY_MIRRORS_FILE 中配置),返回源、mode(mirror,只读副本;或 import,接管带有所列 stages 的版本)、phase(pending、seeding、following)、已应用的 cursor 和源的 head、caughtUp、上一次检查、同步和错误,以及已复制的制品数和字节数。序号是源的日志编号,因此它们的差值不等于变更的数量。普通仓库返回 404。
参数
| 名称 | 位置 | 类型 | 必需 | 规则 |
|---|---|---|---|---|
repository | 路径 | string | 是 | 匹配 ^[a-z0-9][a-z0-9_-]{0,63}$ |
响应 200
| 字段 | 类型 | 必需 | 规则 |
|---|---|---|---|
repository | string | 是 | — |
upstream | string (uri) | 是 | — |
sourceRepository | string | 是 | — |
mode | string | 是 | 取值之一:mirror, import |
stages | 数组(string) | 是 | 最多 16 项 |
phase | string | 是 | 取值之一:pending, seeding, following |
seedStep | string | 是 | 取值之一:artifacts, packages, assets; 可以为 null |
cursor | string | 是 | 用十进制数字表示的整数,以字符串形式发送 |
head | string | 是 | 用十进制数字表示的整数,以字符串形式发送; 可以为 null |
caughtUp | boolean | 是 | 可以为 null |
checkedAt | string (date-time) | 是 | 可以为 null |
syncedAt | string (date-time) | 是 | 可以为 null |
errorCode | string | 是 | 可以为 null |
errorAt | string (date-time) | 是 | 可以为 null |
copiedArtifacts | integer | 是 | 不小于 0 |
copiedBytes | string | 是 | 用十进制数字表示的整数,以字符串形式发送 |
conflicts | object | 是 | — |
conflicts.count | integer | 是 | 不小于 0 |
conflicts.oldestAt | string (date-time) | 是 | 可以为 null |
conflicts.sample | 数组(object) | 是 | 最多 10 项 |
conflicts.sample[].artifactId | string (uuid) | 是 | — |
conflicts.sample[].action | string | 是 | — |
conflicts.sample[].detail | string | 是 | 可以为 null |
conflicts.sample[].code | string | 是 | — |
conflicts.sample[].firstAt | string (date-time) | 是 | — |
conflicts.sample[].lastAt | string (date-time) | 是 | — |
conflicts.sample[].attempts | integer | 是 | 不小于 1 |
响应: 200, 400, 401, 403, 404, 409, 422, 503, 507
示例
bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/mirror" \
-H "Authorization: Bearer $ARKVORY_TOKEN"