infisical-kubernetes-operator
Skill36 starsChanged 3 months agoMITView on GitHub
Guide for the Infisical Kubernetes Operator — syncing secrets from Infisical into Kubernetes Secrets and ConfigMaps, pushing secrets from Kubernetes to Infisical, and managing dynamic secret leases in-cluster. Covers the v1beta1 CRDs (InfisicalConnection, InfisicalAuth, InfisicalStaticSecret) and the legacy v1alpha1 CRDs (InfisicalSecret, InfisicalDynamicSecret, InfisicalPushSecret), Helm installation cluster-wide or namespace-scoped, all 7 operator auth methods, sources and targets, creationPolicy Owner vs Orphan, refreshInterval, the secrets.infisical.com/auto-reload annotation for automatic Deployment rollouts, and Go templating of rendered secrets. Use this skill when someone asks about: Infisical Kubernetes Operator, InfisicalSecret CRD, InfisicalStaticSecret, syncing Infisical secrets into a Kubernetes Secret, auto-reloading pods on secret change, pushing Kubernetes secrets to Infisical, or 'how do I get Infisical secrets into my Kubernetes cluster'. Not for self-hosting Infisical on Kubernetes (infisical-self-host) — that is a different Helm chart — nor for rendering secrets to files (infisical-agent).
In this repository17 other files it gives its agents.
- AGENTS.mdAGENTS.md
- infisical-access-controlSkill
- infisical-agentSkill
- infisical-apiSkill
- infisical-app-connectionsSkill
- infisical-dynamic-secretsSkill
- infisical-gatewaySkill
- infisical-kmsSkill
- infisical-pamSkill
- infisical-pkiSkill
- infisical-secret-rotationSkill
- infisical-secret-scanningSkill
- infisical-secret-syncsSkill
- infisical-self-hostSkill
- infisical-setupSkill
- infisical-ssoSkill
- infisical-terraformSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 26
If a user pastes an InfisicalSecret manifest, they are on v1alpha1.
- Distinctive: line 71
Add templating: if the target needs a specific format
- Very specific: line 85
A synced Secret does not restart anything by itself: Add the secrets.infisical.com/auto-reload: "true" annotation to dependent Deployments, …
- Distinctive: line 89
Consider External Secrets Operator: if the user already runs it — Infisical has a provider there, and adding a second secrets operator is …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Infisical Kubernetes Operator Guide
You are a setup assistant helping users run the Infisical Kubernetes Operator — a set of controllers that keep Kubernetes Secrets and ConfigMaps in step with Infisical, push secrets the other way, and manage dynamic secret leases in-cluster.
The first question: which API version
The operator supports two CRD API versions, and they have different object models.
| Version | Status | Use for |
secrets.infisical.com/v1beta1 | Current | All new installations |
secrets.infisical.com/v1alpha1 | Legacy, deprecating soon | Existing installs only |
This is the single most important thing to establish before writing any YAML. The two versions are not interchangeable:
- v1alpha1 is monolithic — one
InfisicalSecretresource carries the instance address, the authentication, the source, and the target. - v1beta1 splits those concerns into three resources:
InfisicalConnection(where Infisical is),InfisicalAuth(how to authenticate), andInfisicalStaticSecret(what to sync where).
If a user pastes an InfisicalSecret manifest, they are on v1alpha1. Answer in the version they are
using, and mention that v1beta1 is where new work should go — but do not silently rewrite their
manifest into the other version.
The CRDs
| Kind | API version | Purpose |
InfisicalConnection | v1beta1 | Points at an Infisical instance |
InfisicalAuth | v1beta1 | How to authenticate, referencing a connection |
InfisicalStaticSecret | v1beta1 | Sync static secrets into Secrets/ConfigMaps |
InfisicalSecret | v1alpha1 | Legacy all-in-one sync resource |
InfisicalDynamicSecret | v1alpha1 | Manage a dynamic secret lease in-cluster |
InfisicalPushSecret | v1alpha1 | Push secrets from Kubernetes to Infisical |
Note InfisicalDynamicSecret and InfisicalPushSecret are documented at v1alpha1 even though
static secret syncing has moved to v1beta1. Do not assume every CRD has a v1beta1 form.
Not this skill
| If the user wants... | Use |
| Secrets rendered to a file in a pod, or a sidecar/init container | infisical-agent |
The CLI wrapping a process (infisical run) | infisical-setup |
| To set up Kubernetes Auth for a machine identity in general | infisical-setup |
| To encrypt etcd with an Infisical key | infisical-kms |
| To self-host Infisical itself on Kubernetes | infisical-self-host |
| To push secrets to a non-Kubernetes third party | infisical-secret-syncs |
Distinguish the operator from the agent. The operator manages Kubernetes API objects — Secrets and ConfigMaps — cluster-wide from a controller. The agent runs alongside your app and writes files into its filesystem. If the app reads env vars from a Secret, use the operator. If it reads a config file, use the agent.
Also distinguish from self-hosting: installing the operator via Helm is not installing Infisical via Helm. Both use the same Cloudsmith Helm repo, which causes confusion.
How to use this skill
- Establish v1beta1 vs v1alpha1
- Install the operator — cluster-wide or namespace-scoped
- Choose an auth method — prefer
kubernetes(zero static credentials) - Define sources (what to read from Infisical) and targets (what to write in-cluster)
- Set
refreshIntervaland decide oncreationPolicy - Wire up reload so workloads actually pick up changes
- Add templating if the target needs a specific format
Reference files
| File | When to read |
references/install-and-auth.md | Helm install (cluster-wide and namespace-scoped), supported Kubernetes versions, all 7 auth methods, InfisicalConnection and InfisicalAuth |
references/syncing-secrets.md | InfisicalStaticSecret and legacy InfisicalSecret, sources/targets, creationPolicy, refreshInterval, auto-reload, templating |
references/dynamic-and-push.md | InfisicalDynamicSecret leases in-cluster, InfisicalPushSecret for Kubernetes → Infisical |
Guiding principles
- Ask which API version before writing YAML. Getting this wrong produces manifests the cluster rejects.
- Prefer
method: kubernetes. The pod's service account token authenticates it; nothing static is stored in the cluster. Fall back touniversalonly where Kubernetes Auth cannot be configured. - A synced Secret does not restart anything by itself. Add the
secrets.infisical.com/auto-reload: "true"annotation to dependent Deployments, or nothing picks up the new value until the next rollout. creationPolicydecides ownership.Ownerties the managed Secret's lifecycle to the CRD;Orphanleaves it behind on delete. Default toOwnerunless something else must survive.- Namespace-scoped installs: only the first installs CRDs. CRDs are cluster-wide, so subsequent installs must set
installCRDs: falseor they conflict. - Never put a client secret in a manifest. Credentials go in a Kubernetes Secret that the CRD references, not inline.
- Consider External Secrets Operator if the user already runs it — Infisical has a provider there, and adding a second secrets operator is rarely worth it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

