Add kubeconform and kube-linter to the base image #18
No reviewers
Labels
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
actions/sindri!18
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/base-kube-qa-tools"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Add kubeconform (v0.8.0) and kube-linter (v0.8.3) to the
basestage, so all three published variants inherit them:ci(Forgejo pipelines),coder, andcoder-xfce-vnc.Why
Repos that lint/validate k8s manifests (searxng, forgejo, …) currently install these in every CI job via:
That's a Go-toolchain download plus a from-source compile of each tool on every job — slow, unpinned, and network-fragile (it was hanging for minutes on this cluster). Baking pinned prebuilt binaries lets pipelines run
kubeconform/kube-linterdirectly (seconds, reproducible, no runtime Go/proxy/GitHub dependency), and gives the coder/desktop workspaces the same tools for linting before a push.Why
base(notci, notupdate-k8s-tools.sh)base→ one definition, inherited by every variant — matching the Firebase precedent ("in base so every variant ships it").kubectl/helm/talosctl(cluster-version-coupled, fast-moving →update-k8s-tools.shat runtime), these are dependency-free static binaries with a slow release cadence, and CI needs them present at job start — runtime install is the exact flakiness being removed.Implementation
Same fetch idiom as the Firebase block (bounded
curlretries, then assert-runs), placed right after it inbase:Bump the ARGs to upgrade.
Verification
basealready providescurl+tarand setsSHELL … pipefail, so a failedcurl | tarfails the build.pipefail): both extract and report versions cleanly (v0.8.0,0.8.3).Follow-up (separate repo)
Once this is built and
ci-latestcarries the tools, the consuming workflows dropsetup-go+go installand switchcontainer.imagetogit.van-hemmen.com/actions/sindri:ci-latest. (I can open that on searxng.)🤖 Generated with Claude Code
5d0edc362f9a4f5e9df7New commits pushed, approval review dismissed automatically according to repository settings