mcpField
A
argocd-login

argocd-login

github.com/laurigates云与 DevOps5969 次安装1 天前更新
代码仓库

关于 argocd-login

用于通过 SSO 登录 Data Portal 的 ArgoCD CLI。它会建立 CLI 会话,以便执行 ArgoCD 命令或使用 ArgoCD MCP 工具。

主要功能

  1. 01通过 ArgoCD CLI 使用 SSO 登录
  2. 02配置 gRPC-Web 访问
  3. 03检查身份验证状态
  4. 04与 ArgoCD MCP 共用 CLI 身份验证

适用场景

  1. 01列出 ArgoCD 应用前先登录
  2. 02排查 CLI 身份验证错误
  3. 03在 ArgoCD MCP 操作前完成身份验证

MCP 相关

此技能建立 ArgoCD MCP 工具所需的 CLI 会话。CLI 与 MCP 服务共用本地 ArgoCD 配置。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/laurigates/claude-plugins --skill argocd-login

安装后在 Claude Code 中输入/argocd-login确认已加载。

详细介绍

ArgoCD CLI 登录

使用 SSO 对 Data Portal 集群进行 ArgoCD CLI 身份验证。

何时使用此技能

在以下情况下使用此技能……在以下情况下改用 kubernetes-operations……
通过 SSO 对 ArgoCD CLI 进行身份验证直接使用 kubectl 操作集群
在运行 argocd 命令前解决 ArgoCD CLI 身份验证错误不通过 ArgoCD 检查 Kubernetes 工作负载
设置对 argocd.dataportal.fi 的 gRPC-Web 访问使用 kubectl-debugging 调试特定 Pod 或节点

何时使用

在以下情况下自动使用此技能:

  • 用户请求登录 ArgoCD 或进行身份验证
  • 用户提到访问 ArgoCD 集群或应用
  • 用户需要使用 ArgoCD CLI 工具
  • 使用 ArgoCD 命令时出现身份验证错误

身份验证命令

argocd login argocd.dataportal.fi --grpc-web --sso
命令说明
  • argocd.dataportal.fi - Data Portal ArgoCD 服务端点
  • --grpc-web - 启用 gRPC-Web 协议(基于 Web 的 SSO 所必需)
  • --sso - 使用单点登录进行身份验证(打开浏览器以完成 OAuth2 流程)

使用流程

  1. 检测是否需要身份验证:

    • 用户明确请求登录
    • ArgoCD 命令因身份验证错误而失败
    • 用户提到访问 ArgoCD 集群
  2. 执行登录命令:

    argocd login argocd.dataportal.fi --grpc-web --sso
    
  3. 引导用户完成 SSO:

    • 命令会自动打开浏览器
    • 用户在浏览器中完成 SSO 身份验证
    • 身份验证成功后,CLI 会收到令牌
    • 会话存储在 ~/.config/argocd/config 中
  4. 验证身份验证:

    argocd account get-user-info
    

常见 ArgoCD 操作(登录后)

应用管理
# List applications
argocd app list

# Get application details
argocd app get <app-name>

# Sync application
argocd app sync <app-name>

# View application resources
argocd app resources <app-name>
集群信息
# List clusters
argocd cluster list

# Get cluster info
argocd cluster get <cluster-name>
项目管理
# List projects
argocd proj list

# Get project details
argocd proj get <project-name>

身份验证会话

  • 会话存储: ~/.config/argocd/config
  • 会话持久性: 令牌的有效期可配置
  • 重新进行身份验证: 会话过期后再次运行登录命令

故障排除

浏览器未打开
  • 手动打开 CLI 输出的 URL
  • 在浏览器中完成身份验证
  • CLI 将收到令牌
gRPC-Web 错误
  • 确认存在 --grpc-web 标志
  • 检查与 argocd.dataportal.fi 的网络连接
  • 确认防火墙/代理设置允许 gRPC-Web 流量
SSO 失败
  • 确认 SSO 提供方可访问
  • 检查浏览器中的身份验证提示
  • 确认弹出窗口拦截器未造成干扰
  • 尝试使用无痕/隐私浏览模式
令牌过期
  • 重新运行登录命令:argocd login argocd.dataportal.fi --grpc-web --sso
  • 检查令牌有效性:argocd account get-user-info

与 ArgoCD MCP 的集成

此技能与 ArgoCD MCP 服务工具相辅相成:

  • MCP 工具(mcp__argocd-mcp__*)需要已通过身份验证的 CLI 会话
  • 在执行 MCP 操作前,使用此技能建立身份验证
  • 两者使用相同的配置(~/.config/argocd/config)

安全注意事项

  • 令牌存储: CLI 令牌存储在本地配置文件中
  • 令牌范围: 完整的 ArgoCD 访问权限(读写权限取决于 RBAC)
  • 令牌轮换: 定期重新进行身份验证以确保安全
  • 共享会话: CLI 和 MCP 共享身份验证状态

交互示例

User: "I need to check the status of my ArgoCD applications"

Claude: I'll log you into ArgoCD first, then check the application status.

[Executes: argocd login argocd.dataportal.fi --grpc-web --sso]

Please complete the SSO authentication in the browser that just opened.
Once authenticated, I'll retrieve your application list.

[After successful auth, executes: argocd app list]

Here are your applications:
...

相关技能

  • Kubernetes Operations - 用于对 ArgoCD 管理的资源执行 kubectl 操作
  • GitHub Actions Inspection - 用于与 ArgoCD 集成的 CI/CD 流水线
  • Infrastructure Terraform - 用于由 ArgoCD 应用管理的基础设施

参考资料

评论

支持 Markdown