Table of Contents

包仓库与信任

插件包的三条分发路径:本机安装、TierFs 卷仓库(write-once)、远端仓库拉取; 签名信任(RSA-SHA256)是安装期的安全闸。

信任公钥(验签闸)

# 登记信任公钥(平台域;租户域走 tenant trust——同 keyId 覆盖=轮换)
traffic-worker plugin trust add --keyId acme-root-2026 \
  --algorithm rsa-sha256 --public-key @acme-root.pem --admin http://127.0.0.1:7901

traffic-worker plugin trust list
traffic-worker plugin trust remove --keyId acme-root-2026
  • 已签包在安装期验签——验不过即 422 拒绝(不是警告);
  • 撤销信任=新安装验签失效(已安装注册不受影响——存量处置是运营决策);
  • 租户域包验本租户信任锚(tenant trust 平台/租户双域分离)。

包仓库(卷载体)

# 包体入库(write-once:同版本不可覆盖;租户域受配额闸)
traffic-worker plugin package put --data-base64 <包体base64> \
  --admin http://127.0.0.1:7901

# 包读取(清单+包体+指针摘要——pull/远端目录同源)
traffic-worker plugin package get acme/token-check/1.0.0

包体走 TierFs 卷 write-once 载体+KV 指针——大包不膨胀 raft 日志 (与编译产物同一指针模式)。

远端仓库

# 登记仓库源
traffic-worker plugin repo add --body '{ "repoId": "corp", "name": "Corp Registry",
  "url": "https://registry.example.com" }'

# 远端目录搜索
traffic-worker plugin search token --repo corp

# 拉取安装(对端 package 取数→验签→落卷→注册——一条命令完成分发四步)
traffic-worker plugin pull --repo corp acme/token-check/1.0.0

对端即另一节点的管理口——repo.url 指向对端 /api/v1/sys/plugin/catalog: 任何节点天然是仓库(plugin catalog 是远端目录的对端面)。

分发全景

开发/CI 签包 ──→ package put(卷仓库)──→ search/pull(远端)──→ install(验签闸)──→ enable(draft→publish)
                      ↑ write-once + KV 指针                ↑ RSA-SHA256 验签            ↑ 热切换

反模式

症状 原因 正确形态
安装 422 验签失败 信任锚未登记/keyId 不对 trust add 后重装;轮换用同 keyId 覆盖
package put 被拒 同版本已存在(write-once) 发新版本号——包不可变是仓库契约
租户包超限 配额闸 quota-set 调整或清点租户包