管理员手册
这本手册写给两类管理员:
- 自托管团队的管理员:入口和机器都是你们自己的,开号、订阅、机器全归你管。
- 托管客户的管理员:入口和机器由我们运行,你管人、订阅和额度,机器由我们负责。
每一页都分「自托管」「托管」两栏写;只适用于一类的步骤会写明。
| 篇目 | 讲什么 |
|---|---|
| 开号与删号 | 邀请一个人、给他在机器上开账号、删号会留下什么 |
| 订阅与额度 | 用我们提供的订阅,或接上你们自己的;每人上限;看谁用了多少 |
| 机器 | 加一台机器、维护中、下线、失联时会发生什么 |
| 谁能看到什么 | 管理员和成员各看得到什么,管理员能做什么、不能做什么 |
哪些事你自己做,哪些找我们
| 事情 | 自托管 | 托管 |
|---|---|---|
| 邀请成员、删号 | 你 | 你 |
| 加订阅、暂停、移除 | 你 | 你(用我们提供的订阅时由我们加) |
| 每人额度 | 你 | 你 |
| 看用量、看审计 | 你 | 你 |
| 加机器、维护、下线 | 你 | 我们 |
| 谁是管理员 | 你,写在入口的部署配置里 | 我们,按你们开通时给的名单写进部署配置 |
| 入口升级、备份 | 你 | 我们 |
托管一栏里没有一步需要 root 或登录到机器上;需要的那几件事在「我们」那一列。
管理员从哪里操作
网页控制台:浏览器打开 https://hub.example.com/app,用管理员的身份登录。左边栏多出一组「管理」:全部会话 · 按人用量 · 订阅池 · 服务节点与客户端 · 使用者 · 设置 · 审计。成员打开这些页面只会看到「页面不存在」(404),和打开一个不存在的地址一样。
命令行:fleet hub …、fleet users …,装好客户端(curl -fsSL https://hub.example.com/install | sh)就有。它们要一份管理员凭据,只从环境变量读,从不写进文件:
- 自托管:入口的操作者令牌,
export CCQUOTA_VIEWER_TOKEN=…(部署入口时生成的那个)。 - 托管:你在浏览器里登录入口后的会话 cookie。浏览器开发者工具 → 应用(Application)→ Cookie →
ccq_sess,复制它的值,然后export FLEET_HUB_SESSION=<值>。退出登录后它就失效。
将改为:托管管理员在命令行里也用
fleet login的身份,不再手抄 cookie。
谁是管理员
只有两种角色:管理员 和 使用者(成员)。管理员不能在网页上加减,只写在入口的部署配置里:
CCQUOTA_GITHUB_ADMINS:管理员的 GitHub 用户名,逗号分开。CCQUOTA_ADMINS:用邮箱或微信登录的管理员(邮箱地址或身份 id)。
改完重新部署入口才生效。「使用者」页上管理员一行是只读的,网页上删不掉。
接第一家托管客户之前
公开前有七项安全门槛(发布签名钥匙、机器上的 root 权限、凭据有效期等)。七项全绿之前,我们不开通任何托管客户;对外推广至少要第 1 项是绿的。
- 自托管:在任意一台机器上
fleet doctor,看gate那几行,每项 PASS / FAIL 加一句原因。 - 托管:开通前请我们给你看同一份读数;你也可以登录后在浏览器打开
https://hub.example.com/v1/fleet/gate自己读。
七项各是什么、为什么要做,见 安全与隔离。