SIGIL

Skill · kubernetes/workload-hardening · v1.0.0 · MIT

Kubernetes Workload Hardening

Production Kubernetes 1.34-1.37 workloads that pass Pod Security restricted, really start, shut down cleanly and survive drains.

Teaches an agent to write and fix Deployment, StatefulSet, Job and CronJob manifests as Kubernetes works in late 2026 (1.37): the Pod Security Standards restricted profile control by control on every init, sidecar and ephemeral container, seccompProfile instead of the removed annotations, the kubelet's runAsNonRoot check that rejects images whose USER is a name or unset, read-only root filesystems with emptyDir scratch space, probes that do not cascade, preStop delays that work in distroless images (the sleep action, GA 1.34) with grace periods that cover them, PodDisruptionBudgets that let drains finish (maxUnavailable and unhealthyPodEvictionPolicy, GA 1.31), HPA autoscaling/v2 with requests on every container, topology spread, native sidecars for Jobs (GA 1.33) and the API versions 1.37 no longer serves. Rules were ported from the v1.37.2 source and reproduced on a 1.37 cluster.

  • DevOps
  • Security
  • Platform engineering
  • Cloud
  • build
  • secure
  • ship
  • operate
  • kubernetes
  • docker

uplift

Untested

No runs exist for this digest.

Not measured for this digest.

Untested is not the same as useless: nobody has measured it yet. Proof comes from A/B runs on hidden tests:

npx sigil prove catalog/skills/kubernetes/workload-hardening --suite <suite> --runs 6

trust level · submitted

Submitted
  • in the catalog: met
Validated
  • structure check: not met
  • static scan, no high findings: not met
Verified
  • canary sandbox passed: not met
  • maintainer approved: not met

canary sandbox

Not run for this digest.

static scan

Not run for this digest.

compatibility · targeted, compiled and evaluated are separate claims

agenttargeted by authorcompiledevaluated in the labnotes
Claude Codetargeted: yesno record for compiledno record for evaluated
Codextargeted: yesno record for compiledno record for evaluated
Cursortargeted: yesno record for compiledno record for evaluated
GitHub Copilottargeted: yesno record for compiledno record for evaluated
Gemini CLItargeted: yesno record for compiledno record for evaluated
OpenCodetargeted: yesno record for compiledno record for evaluated

declared permissions

network
none
shell
kubectl, kubeconform, docker image inspect
filesystem
write
env
none

Undeclared access is a finding in the scan and a tripwire in the canary.

source

path
catalog/skills/kubernetes/workload-hardening
authors
dgesteves
entry
SKILL.md (agent-skill)
registry
2026-11-02 · 5cb851d

install

$ npx sigil add kubernetes/workload-hardening --agent claude-code

No compile record for Claude Code on this digest. Install never runs capability scripts, and refuses on any digest mismatch.

known limitations

  • Written for upstream Kubernetes 1.34 to 1.37 as of November 2026. Managed platforms can add admission policies (GKE Autopilot, OpenShift SCCs, Kyverno or Gatekeeper rules) that are stricter than Pod Security Admission.
  • Plain manifests only. Helm charts and Kustomize overlays are covered only through the YAML they render.
  • The kubelet runAsNonRoot and preStop behaviour was measured with containerd (k3s v1.37.1); CRI-O and Windows nodes were not tested.
  • Endpoint propagation delays depend on the ingress controller, kube-proxy mode and cloud load balancer; the skill gives the budget arithmetic, not the right number for a given cluster.
  • The proof suite measures Pod Security restricted plus image users, PDB and HPA behaviour, and shutdown in a distroless image. Topology spread, probes and Job sidecars are taught but not scored.