feat(scripts): automate real-host access prep closure
This commit is contained in:
@@ -91,6 +91,31 @@ SUBSCRIPTION_DAYS=30 \
|
||||
scripts/real_host_acceptance.sh
|
||||
```
|
||||
|
||||
### 5. 导入后自动补 access 前置(可选)
|
||||
|
||||
当真实宿主需要额外完成“普通用户余额 / key-group 绑定 / 订阅写入 / 缓存失效”等宿主侧动作时,可在 import 完成后插入自定义 hook:
|
||||
|
||||
```bash
|
||||
AFTER_IMPORT_HOOK_COMMAND='bash /path/to/host-access-hook.sh' \
|
||||
... \
|
||||
scripts/real_host_acceptance.sh
|
||||
```
|
||||
|
||||
hook 执行时会额外导出:
|
||||
- `BATCH_ID`
|
||||
- `BATCH_DETAIL_FILE`(若非 dry-run,会指向 `05a-batch-detail-pre-access.json`)
|
||||
- `PROVIDER_ID`
|
||||
- `HOST_BASE_URL`
|
||||
- `CRM_BASE_URL`
|
||||
- `ACCESS_MODE`
|
||||
- `MODE`
|
||||
- `ARTIFACT_DIR`
|
||||
|
||||
标准产物会新增:
|
||||
- `05a-batch-detail-pre-access.json`
|
||||
- `05b-after-import-hook.stdout.txt`
|
||||
- `05b-after-import-hook.stderr.txt`
|
||||
|
||||
## 产物
|
||||
|
||||
脚本会把每一步 JSON 响应落到:
|
||||
@@ -105,6 +130,8 @@ artifacts/real-host-acceptance/<timestamp>/
|
||||
- `03-install-pack.json`
|
||||
- `04-preview-import.json`
|
||||
- `05-import.json`
|
||||
- `05a-batch-detail-pre-access.json`(若拿到了 `batch_id` 且非 dry-run)
|
||||
- `05b-after-import-hook.stdout.txt` / `05b-after-import-hook.stderr.txt`(若配置了 hook)
|
||||
- `06-access-preview.json`
|
||||
- `07-access-status.json`
|
||||
- `08-provider-status.json`
|
||||
@@ -151,3 +178,4 @@ SKIP_ROLLBACK=1 scripts/real_host_acceptance.sh
|
||||
7. `self_service` 验证除普通用户 key 外,还需要该 key 绑定目标 group;若目标 group 是标准计费组,还需要用户侧具备可用余额,否则 `/v1/models` 可能从“未授权”转为 `INSUFFICIENT_BALANCE`。
|
||||
8. `subscription` 验证需要目标 group 本身是 `subscription` 类型,并且完成“普通用户订阅分配 + 普通用户 key 绑定该 group”;仅有管理员主体或未绑定 key 不足以通过 `/v1/models`。
|
||||
9. 若需要验证 `reconcile` 收敛,优先在干净宿主场景或隔离 group 下执行,避免历史残留资源把结果污染成 `status=drifted` / `extra_count>0`。
|
||||
10. `scripts/import_remote43_provider.sh` 现已内置 remote43 的 subscription 验收补全动作:会根据 import batch 自动解析目标 group,执行“普通用户最低余额补齐 + key/group 绑定 + user_subscriptions upsert + Redis flush”,并把 SQL / host state 证据写入 artifact 目录。
|
||||
|
||||
Reference in New Issue
Block a user