A small Kubernetes deploy runner for CI: kubectl, Helm and a readiness wait, nothing else.
A pipeline step that only runs helm upgrade and waits for the rollout should not pull a full infrastructure toolchain.
This image carries only what that step needs, so the deploy step pulls less and behaves the same on every runner.
For Terraform, scanners or cost estimates, use nnthanh101/terraform instead.
| Tag | Use it for |
|---|---|
latest, <version> | CI deploy steps and cluster checks; linux/amd64 and linux/arm64 |
Pin what you tested: docker buildx imagetools inspect nnthanh101/k8s:latest prints the digest to use as nnthanh101/k8s@sha256:<digest>.
Measured on 2026-09-23, the image is about 0.3 GB to pull.
Image version: 2.11.1 (from .devcontainer/k8s/VERSION).
| Tool | Version |
|---|---|
| kubectl | 1.36.4 |
| Helm | 3.22.0 |
| Helm plugin cm-push | 0.11.1 |
| wait-for | Built in |
| Python | Wolfi |
Base image (every target): cgr.dev/chainguard/wolfi-base:latest@sha256:1d95114038f76513a9ace6fca107d5582b08c65981f81f61cb56bf7fd2ef216d
Wolfi = the signed Wolfi package, updated weekly.
No cluster needed:
docker run --rm nnthanh101/k8s:latest sh -c 'kubectl version --client && helm version --short'
Against your cluster (the image runs as user toolkit, UID 1000):
docker run --rm -v "$HOME/.kube:/home/toolkit/.kube:ro" nnthanh101/k8s:latest kubectl get nodes
Wait until a rollout is ready (wait-for --help lists every kind):
wait-for deployment --namespace production --label app=myapp
TIMEOUT=600 POLL_INTERVAL=10 wait-for statefulset --namespace data --label app=db
GitHub Actions job:
jobs:
deploy:
runs-on: ubuntu-latest
container:
image: nnthanh101/k8s@sha256:<digest>
options: --user 0 # prevents EACCES on the runner's temporary directories
steps:
- uses: actions/checkout@<commit-sha> # pin actions by commit
- run: helm upgrade --install myapp ./chart -n production
- run: wait-for deployment --namespace production --label app=myapp
versions.env.toolkit (UID 1000). GitHub Actions container jobs need --user 0.Content type
Image
Digest
sha256:dd4b098ca…
Size
310 MB
Last updated
4 days ago
docker pull nnthanh101/k8s