通过 set-secret GitHub Actions 工作流设置或更新环境密钥。在用户要求更新、轮换或设置密钥/令牌/API 密钥时使用...
管理密钥 — 自服务密钥更新是一项面向实际任务的技能,主要用于打开内存中的 set- secret. yml 工作流程, 设置或更新此人物的环境密钥;工作流程解密了 OPS- 加密。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
在环境仓库(env repo)中触发 set-secret.yml 工作流,为当前 persona 设置或更新环境密钥。该工作流会解密使用 SOPS 加密的 secrets.yaml 文件,在 envSecrets 下注入指定的键/值对,重新加密后推送变更——此操作将触发一次部署。
AGENT_GITHUB_PAT —— 一个具备 env 仓库 Actions 写入权限的细粒度个人访问令牌(PAT)。无备用方案;该 PAT 必须存在。MANAGE_SECRETS_GITHUB_REPO —— 包含 set-secret.yml 的环境仓库在 GitHub 上的 owner/repo 格式路径(例如:myorg/myapp-env)。if [[ -z "$AGENT_GITHUB_PAT" ]]; then echo "ERROR: AGENT_GITHUB_PAT is not set. Cannot authenticate to trigger set-secret workflow." >&2 exit 1 fi if [[ -z "$MANAGE_SECRETS_GITHUB_REPO" ]]; then echo "ERROR: MANAGE_SECRETS_GITHUB_REPO is not set. Cannot determine target repo." >&2 exit 1 fi export GITHUB_TOKEN="$AGENT_GITHUB_PAT"
export GITHUB_TOKEN="$AGENT_GITHUB_PAT" gh workflow run set-secret.yml --repo "$MANAGE_SECRETS_GITHUB_REPO" -f persona=-f secret_key= -f secret_value=
其中:
是该 agent 的 persona 名称。可通过 Tailscale 主机名确定(tailscale status --self --json | jq -r .Self.HostName → 去除前缀 moltbot-),或通过 Kubernetes 命名空间确定(moltbot-) 必须符合正则表达式 ^[A-Z][A-Z0-9_]*$(例如:TELEGRAM_BOT_TOKEN、GOOGLE_API_KEY) 是待设置的密钥值触发后等待数秒,然后检查状态:
export GITHUB_TOKEN="$AGENT_GITHUB_PAT" gh run list --repo "$MANAGE_SECRETS_GITHUB_REPO" --workflow set-secret.yml --limit 3
如需持续观察某次具体运行直至完成:
export GITHUB_TOKEN="$AGENT_GITHUB_PAT" gh run watch--repo "$MANAGE_SECRETS_GITHUB_REPO"
该工作流强制执行 RBAC 矩阵,将 GitHub 用户名映射至允许操作的 persona。每个 persona 对应的 GitHub 用户仅可为其自身 persona 设置密钥;管理员用户则拥有对所有 persona 的通配符访问权限。当前 RBAC 矩阵请参阅 set-secret.yml 工作流源码。
RBAC 示例结构如下:
{
"admin-user": ["*"],
"bot-user[bot]": ["*"],
"persona-a-user": ["persona-a"],
"persona-b-user": ["persona-b"]
}
concurrency: { group: set-secret, cancel-in-progress: false } 运行 —— 并发触发会被序列化执行,而非取消进行中的任务main 分支,从而触发受影响 persona 的部署工作流AGENT_GITHUB_PAT 和 MANAGE_SECRETS_GITHUB_REPO 必须在环境中预先设置;本功能不提供任何备用机制相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习