ZMUKE vault 手册

Gitea 凭据: 结构与使用方法 (Agent 必读)

最后更新: 2026-08-17. 实测环境: 大脑机 (zmuke-n-00001) 与 debian-vm (lima), 两台

vault 完全镜像 (D14), 以下命令在任一台均可执行。禁止打印任何 token 值。

1. 结构: 每组织两级 token

组织 profile 权限级别
zmuke gitea-zmuke-admin 实例管理员 GITEA_ADMIN_USER / GITEA_ADMIN_PASSWORD / GITEA_API_TOKEN
zmuke gitea-zmuke-developer 普通用户 GITEA_API_TOKEN / GITEA_BASE_URL / GITEA_EMAIL / GITEA_USERNAME
slaunchx gitea-slaunchx-admin 实例管理员 GITEA_API_TOKEN / GITEA_BASE_URL / GITEA_USERNAME
slaunchx gitea-slaunchx-developer 普通用户 同上三键
mocalmax gitea-mocalmax-admin 实例管理员 五键 (含 EMAIL / PASSWORD)
mocalmax gitea-mocalmax-developer 仅仓库 scope 四键

选择规则: 日常仓库/PR/API 查询用 developer; 建仓、注册公钥、写 CI secret、

用户管理才用 admin。admin 不进 CI、不进脚本常驻。

2. API 调用方法 (按组织, 实测差异重要)

slaunchx — 直连即可

vault --business slaunchx run gitea-slaunchx-developer -- \
  sh -c 'curl -H "Authorization: token $GITEA_API_TOKEN" "$GITEA_BASE_URL/api/v1/repos/slaunchx/<repo>"'

mocalmax — 直连; developer 是最小 scope

同 slaunchx 姿势 (BASE_URL = gitea.mocalmax.cc)。注意 developer token **只有仓库

scope**: 调 /user 等非仓库端点会 403, 这是刻意的最小化, 不是故障; 需要更广

端点时换 admin。

zmuke — 分机器, 跨机必须带 Access 头

Cloudflare Access 后面, 需要叠加 cloudflare-zmuke-access-agent

service token 头。双 profile 嵌套注入的标准姿势 (值走环境继承, 不进命令行参数):

vault --business zmuke run cloudflare-zmuke-access-agent -- bash -c '
export A_ID="$CF_ACCESS_CLIENT_ID" A_SEC="$CF_ACCESS_CLIENT_SECRET"
exec ~/vault/bin/vault --business zmuke run gitea-zmuke-developer -- bash -c "
  curl -H \"CF-Access-Client-Id: \$A_ID\" -H \"CF-Access-Client-Secret: \$A_SEC\" \
       -H \"Authorization: token \$GITEA_API_TOKEN\" https://gitea.zmuke.com/api/v1/user"'

3. git 推拉通道 (无须手动碰 token)

两台机均已配好, 直接 git 操作即可:

(全局 git config 已配 credential.https://<host>.helper), 背后读对应组织的

developer profile。clone/push 直接用 https://gitea.<组织域>/... URL。

gitea-ssh.mocalmax.cc / gitea-ssh.slaunchx.cc (均为 cloudflared

ProxyCommand 隧道直达, 不经 nginx)。公钥已注册, 开箱即用。

4. 铁律 (与 AGENT-INSTRUCTIONS 一致)

删除不会被 sync 传播, 需两侧各删。

被全进程继承, 已清除并归档; 发现同类残留立即清理并轮换。

操作员手册,不要公开传播。不含 Token / Account ID / Zone ID。HANDOFF 不在此站。