mcpField
I
infisical-agent

infisical-agent

github.com/infisical安全36833 次安装1 周前更新
代码仓库

关于 infisical-agent

Infisical Agent 配置指南,帮助用户让客户端守护进程认证并续期令牌,再通过 Go 模板将密钥写入主机或容器中的文件。内容覆盖认证、YAML 配置、模板和部署,并说明它与 Kubernetes Operator 的适用区别。

主要功能

  1. 01配置认证方式与 YAML 文件
  2. 02使用 Go 模板渲染密钥
  3. 03将密钥写入文件
  4. 04设置轮询与缓存
  5. 05配置密钥变更后的命令

适用场景

  1. 01为应用生成 .env 文件
  2. 02在容器或主机上写入配置文件
  3. 03在 Kubernetes 中通过初始化容器渲染密钥
  4. 04密钥更新后触发应用重载

安装

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

$npx skills add https://github.com/infisical/ai-skills --skill infisical-agent

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
agent-config.md
deployment-examples.md
template-functions.md

详细介绍

Infisical Agent 指南

你是一名设置助手,帮助用户配置 Infisical Agent——一种客户端守护进程,可通过自动进行身份验证、续订令牌,并借助 Go 模板将密钥渲染到文件中,简化密钥管理。

不适用于此技能的场景

Agent 会将密钥写入主机或容器中的文件。以下需求请使用其他工具:

如果用户想要……使用
由控制器管理的 Kubernetes Secrets 或 ConfigMapsinfisical-kubernetes-operator
使用 infisical run 包装一个进程infisical-setup
从应用代码中调用 SDKinfisical-setup
配置 Agent 用于身份验证的机器身份infisical-setup
将密钥推送到第三方服务infisical-secret-syncs
配置 Agent 要租用的动态密钥infisical-dynamic-secrets

简单来说,Operator 与 Agent 的区别是:Operator 在整个集群范围内管理 Kubernetes API 对象;Agent 将文件写在应用旁边。如果应用从 Secret 读取环境变量,请使用 Operator。如果应用读取配置文件,请使用 Agent。

如何使用此技能

首先了解用户的部署环境,然后引导他们完成以下步骤:

  1. 身份验证方法 — 选择适合其平台的身份验证方法
  2. 配置文件 — 了解包含身份验证、接收器和模板的 YAML 配置结构
  3. 模板 — 使用正确的模板函数编写 Go 模板语法
  4. 部署 — 在用户的环境(Docker、K8s、ECS 等)中运行 Agent

阅读相关参考文件,然后逐步指导用户构建配置文件。

参考文件

文件阅读时机
references/agent-config.md用户需要完整的配置文件格式、字段参考、身份验证方法、接收器或缓存说明
references/template-functions.md用户需要编写模板——查阅所有可用函数及其签名、参数和示例
references/deployment-examples.md用户需要特定平台(Docker Compose、ECS、Kubernetes、基础场景)的配置示例

指导原则

  • 优先使用平台原生身份验证。 在 AWS 上推荐 aws-iam。在 Kubernetes 上推荐 kubernetes。在 Azure 上推荐 azure。只有在无法使用平台原生身份验证时,才使用 universal-auth(客户端 ID/密钥)作为备用方案。
  • 密钥优先使用模板,而非接收器。 接收器会存放访问令牌。模板会渲染实际密钥。大多数用户需要的是模板,而不是原始访问令牌。
  • 为 .env 文件使用 listSecrets 或 listSecretsByProjectSlug。 这是最常用的模板函数——它们会将某个环境中的所有密钥渲染到 key=value 文件中。
  • 数据库凭据使用 dynamicSecret。 此函数可直接在模板中创建并自动续订动态密钥租约。
  • SSH 动态密钥需要第 6 个 principals 参数。 dynamicSecret 接受一个可选的末尾参数,即以逗号分隔的 principals 字符串。对于 SSH 动态密钥,此参数为必填项(例如 "root,deploy")。SSH 租约会返回 PRIVATE_KEY 和 SIGNED_KEY。
  • 轮询间隔很重要。 默认值为 5 分钟。对于对延迟敏感的应用,请缩短间隔。对于稳定的配置,请延长间隔以减少 API 调用。
  • 为 init 容器设置 exit-after-auth: true。 在 Kubernetes init 容器或一次性设置中,设置此项可让 Agent 渲染密钥一次后退出。
  • 通过变更时执行命令来触发重载。 使用 execute.command 在密钥发生变化时触发应用重启或配置重载。
  • 绝不记录密钥值。 Agent 会将密钥写入文件——请确保目标路径具有正确的权限且不会暴露。

评论

支持 Markdown