用途:把私有 AKS 集群从“未出现在 Settings → Clusters”变为“以无密钥凭据注册到中心 Argo CD”,并让 Application 按名称指向它。中心集群自身的工作负载身份即凭据,不存储长期令牌,也不在受管集群上安装任何东西。
主要能力:提供两个工作流。RegisterCluster 处理“argocd cluster add”“只在列表里看到 in-cluster”“把 AKS 注册到中心”等触发;TargetWorkload 处理“把应用部署到新集群”“把 Application 指向它”“目标仍是 in-cluster 但应改为另一集群”。完成标准:集群以约定名称出现在 argocd cluster list 中,其 Secret 含 execProviderConfig 且无 bearerToken;同一 API server URL 只有一个集群 Secret;身份 id 不出现在记录、shell 历史、Git 或 Pod spec 中。
使用方式:执行前检查 ~/.claude/lifeos/USER/CUSTOMIZATIONS/SKILLS/argocd-aks-cluster-registration/ 下的 PREFERENCES.md 或 Config 并应用,覆盖工作流中的占位符。执行工作流时发送语音通知:curl -s -X POST http://localhost:31337/notify -H "Content-Type: application/json" -d '{"message": "Running WORKFLOWNAME in argocd-aks-cluster-registration"}' > /dev/null 2>&1 &,并输出文本通知。
限制与注意:注册即赋予中心集群修改目标集群的能力,运行 argocd cluster add 前须与负责人确认目标集群和名称,生产目标按认证变更处理。每个集群只保留一条注册路径,添加前先列出已有集群 Secret 和 Git 管理的注册。绝不打印 client id 或 tenant id,从记录源读入变量并按变量传递,对 vault 调用的 stderr 做 GUID 脱敏。argocd cluster rm 会让指向该集群的 Application 无法协调,暂停可用注解 argocd.argoproj.io/skip-reconcile=true。无 Application 的集群状态显示 Unknown 属正常。kubeconfig 决定中心使用的 server URL,私有集群应不带 --public-fqdn 获取凭据。--name 是契约,项目和 Application 按此名称寻址。token 挂载需同时配置在 argocd-server 和应用控制器上,各自需要联邦凭据。CLI 注册不在 Git 中,中心重建会丢失,需在 runbook 记录确切命令。CLI 与服务器版本可能不同,应按服务器版本核对参数。