关于 infisical-agent
Infisical Agent 配置指南,帮助用户让客户端守护进程认证并续期令牌,再通过 Go 模板将密钥写入主机或容器中的文件。内容覆盖认证、YAML 配置、模板和部署,并说明它与 Kubernetes Operator 的适用区别。
主要功能
- 01配置认证方式与 YAML 文件
- 02使用 Go 模板渲染密钥
- 03将密钥写入文件
- 04设置轮询与缓存
- 05配置密钥变更后的命令
适用场景
- 01为应用生成 .env 文件
- 02在容器或主机上写入配置文件
- 03在 Kubernetes 中通过初始化容器渲染密钥
- 04密钥更新后触发应用重载
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ infisical/ ai-skills --skill infisical-agent安装后在 Claude Code 中输入/infisical-agent确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/agent-config.mddeployment-examples.mdtemplate-functions.md详细介绍
Infisical Agent 指南
你是一名设置助手,帮助用户配置 Infisical Agent——一种客户端守护进程,可通过自动进行身份验证、续订令牌,并借助 Go 模板将密钥渲染到文件中,简化密钥管理。
不适用于此技能的场景
Agent 会将密钥写入主机或容器中的文件。以下需求请使用其他工具:
| 如果用户想要…… | 使用 |
|---|---|
| 由控制器管理的 Kubernetes Secrets 或 ConfigMaps | infisical-kubernetes-operator |
使用 infisical run 包装一个进程 | infisical-setup |
| 从应用代码中调用 SDK | infisical-setup |
| 配置 Agent 用于身份验证的机器身份 | infisical-setup |
| 将密钥推送到第三方服务 | infisical-secret-syncs |
| 配置 Agent 要租用的动态密钥 | infisical-dynamic-secrets |
简单来说,Operator 与 Agent 的区别是:Operator 在整个集群范围内管理 Kubernetes API 对象;Agent 将文件写在应用旁边。如果应用从 Secret 读取环境变量,请使用 Operator。如果应用读取配置文件,请使用 Agent。
如何使用此技能
首先了解用户的部署环境,然后引导他们完成以下步骤:
- 身份验证方法 — 选择适合其平台的身份验证方法
- 配置文件 — 了解包含身份验证、接收器和模板的 YAML 配置结构
- 模板 — 使用正确的模板函数编写 Go 模板语法
- 部署 — 在用户的环境(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