ai-governance
Generate and enforce policy gates for AI coding agents (Copilot, Claude Code) — real-time session hooks that deny protected-path edits and dangerous commands,…
Secrets strategy, External Secrets Operator scaffolding, Sealed Secrets seal/rotate/backup, rotation runbooks, and Kubernetes-side secrets audit.
> /plugin marketplace add nitinjain999/platform-skills > /plugin install platform-skills@platform-skills
How it fires
How this command gets triggered: by you, by Claude, or both.
/secretsContext preview
What this command does when you run it.
Secrets strategy, External Secrets Operator scaffolding, Sealed Secrets seal/rotate/backup, rotation runbooks, and Kubernetes-side secrets audit.
name: secrets description: Secrets strategy, External Secrets Operator scaffolding, Sealed Secrets seal/rotate/backup, rotation runbooks, and Kubernetes-side secrets audit. argument-hint: "[design|eso|sealed|rotate|audit] [namespace or manifest path]" title: "Secrets Command" sidebar_label: "secrets" custom_edit_url: null
Structured guidance for secrets strategy, External Secrets Operator, Sealed Secrets, rotation, and Kubernetes-side secrets audit.
/platform-skills:secrets design # ESO vs Sealed Secrets decision; choose a strategy for the cluster /platform-skills:secrets eso # ExternalSecret/SecretStore scaffold; debug sync errors /platform-skills:secrets sealed # seal, rotate, backup master key; troubleshoot decryption failures /platform-skills:secrets rotate # rotation runbook — update provider value, force sync, verify pods reload /platform-skills:secrets audit # find bad SA tokens, unhealthy ExternalSecrets, missing secrets
---
When invoked with no arguments, ask before proceeding:
**Q1 — Mode?**
What do you need? 1. design — choose ESO vs Sealed Secrets for a cluster or workload 2. eso — scaffold ExternalSecret/SecretStore, or debug a sync error 3. sealed — seal a new secret, rotate an existing one, or back up the master key 4. rotate — end-to-end rotation runbook for a live secret 5. audit — find service account token secrets, unhealthy ExternalSecrets, plain secrets in Git Enter 1–5 or mode name:
**Q2 — Context** (after mode selected):
---
**Triggers:** which pattern, ESO vs Sealed Secrets, choose secrets strategy, what should I use
Read `references/secrets.md` before responding.
| Pattern | Best for | Tradeoff | |---|---|---| | External Secrets Operator (ESO) | Cloud-native backends: AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, HashiCorp Vault | Runtime dependency on provider; requires workload identity or static credentials | | Sealed Secrets | Air-gapped or GitOps-first teams; no external runtime dependency | Rotation requires re-sealing and a Git commit; master key backup is critical |
**Pick ESO when:**
**Pick Sealed Secrets when:**
**Handoffs:**
---
**Triggers:** ExternalSecret, SecretStore, ClusterSecretStore, sync error, ESO, external secrets operator, SecretSyncError
Read `references/secrets.md` → External Secrets Operator section before responding.
> **Before generating commands, confirm:** > - ESO namespace — common values: `external-secrets`, `platform-system`, `kube-system`. Discover with: `kubectl get pods -A | grep external-secrets` > - ESO deploy name — common values: `external-secrets`, `external-secrets-controller`. Discover with: `kubectl get deploy -n <eso-namespace>` > - ESO service account name — the SA annotated with IRSA or Workload Identity. Common: `external-secrets-sa`, but teams name it differently. > > Substitute these into all namespace flags, `kubectl logs`, and `serviceAccountRef` fields below.
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: database-credentials
namespace: app-team
spec:
refreshInterval: 1h
secretStoreRef:
name: my-secret-store
kind: SecretStore
target:
name: database-credentials
creationPolicy: Owner
data:
- secretKey: DB_PASSWORD
remoteRef:
key: prod/app-team/db
property: password**AWS Secrets Manager (IRSA):**
apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
name: my-secret-store
namespace: app-team
spec:
provider:
aws:
service: SecretsManager
region: eu-north-1
auth:
jwt:
serviceAccountRef:
name: external-secrets-saRequired IAM (least privilege):
{
"Effect": "Allow",
"Action": "secretsmanager:GetSecretValue",
"Resource": "arn:aws:secretsmanager:<region>:<account>:secret:prod/app-team/*"
}**Azure Key Vault (Workload Identity):**
apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
name: my-secret-store
namespace: app-team
spec:
provider:
azurekv:
authType: WorkloadIdentity
vaultUrl: "https://my-keyvault.vault.azure.net"
serviceAccountRef:
name: external-secrets-saThe managed identity needs `Key Vault Secrets User` on the Key Vault.
**HashiCorp Vault (Kubernetes auth):**
apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
name: my-secret-store
namespace: app-team
spec:
provider:
vault:
server: "https://vault.example.com"
path: "secret"
version: "v2"
auth:
kubernetes:A production-grade field handbook for platform, DevOps, SRE, and cloud engineers covering Kubernetes, Flux CD, Terraform, GitHub Actions, AWS, OPA/Rego, KEDA, Karpenter, supply chain security, Falco, observability, and more.
Repo: nitinjain999/platform-skills
Generate and enforce policy gates for AI coding agents (Copilot, Claude Code) — real-time session hooks that deny protected-path edits and dangerous commands,…
Generate, convert, and maintain animated GitHub-safe Markdown documents with animated SVG diagrams. Covers four SVG patterns (architecture flow, lifecycle…
AWS profile management for MCP servers — discover profiles across SSO, Granted, and assumed-role chains, check credential TTL, switch profiles across VS Code…
Structured guidance for AWS CloudFront distributions, WAF web ACLs, Lambda@Edge, CloudFront Functions, Firewall Manager multi-account enforcement, and IAM/IRSA…
Azure identity (Workload Identity, OIDC, Entra ID), resource tagging, AKS platform patterns, RBAC scoping, and production-readiness review — with Terraform…
Design, run, and debug Chaos Engineering experiments on Kubernetes using Litmus Chaos v3 and Chaos Mesh v2. Covers fault injection (pod-delete, network-loss,…