feat(buildah): add qemu-binfmt daemonset + fix 0.8.0 multi-arch - #740
ArthurVardevanyan wants to merge 1 commit into
Conversation
GitOps CI ResultsLast Updated: 2026-09-24T12:15:10Z ✅ Expand: PR Checks✅ PR TitlePassed. ✅ Signed CommitsPassed. ✅ PR ChecklistPassed. ❌ Expand: Linting✅ MarkdownlintPassed. ✅ PrettierPassed. ❌ Shellcheck✅ golangci-lintNo Go files changed. ✅ KubeconformPassed. ✅ Expand: Static Checks✅ Large FilePassed. ✅ YAML SyntaxPassed. ✅ Config Sort OrderPassed. ✅ Starting CSVPassed. ✅ Scaffold TableDisabled. ❌ Expand: Kustomize Build❌ Overlay Build
✅ HooksNo hooks defined. ✅ Kustomize FixAll kustomization.yaml files are up to date. ✅ Ghost PatchesNone detected. ✅ Expand: Scaffold Validation✅ Scaffold DriftNo drift detected. ✅ Scaffold ExecAll scaffold runs succeeded. ✅ Disabled OverlaysNo modified overlay is disabled. ✅ Pre-Existing Scaffold DriftNone detected. ✅ Cluster CoverageAll clusters accounted for. ✅ Expand: Scaffold Drift ProtectionAll modified overlays with a scaffold template have drift protection enabled.
|
| Kind | Name | Container | Missing | Overlays |
|---|---|---|---|---|
| DaemonSet | qemu-binfmt | enableServiceLinks, schedulerName, dnsPolicy, automountServiceAccountToken | kubernetes/qemu-binfmt/base/daemonset.yaml |
|
| DaemonSet | qemu-binfmt | qemu-binfmt | allowPrivilegeEscalation, runAsNonRoot, capabilities, seccompProfile | kubernetes/qemu-binfmt/base/daemonset.yaml |
ℹ️ Accepted Exemptions (pre-existing) (3)
| Resource | Value | Scope |
|---|---|---|
PipelineRun qemu-binfmt-image |
`` | pre-existing |
PipelineRun qemu-binfmt-image |
`` | pre-existing |
DaemonSet qemu-binfmt |
registry.arthurvardevanyan.com/homelab/qemu-binfmt:not_latest |
pre-existing |
❌ Expand: Runtime Validation
These are structural/runtime Kubernetes validation rules enforced by the cluster API server. Findings here indicate manifests that the cluster would reject.
❌ Core (1 finding(s))
| Rule | Resource | File | Field | Message |
|---|---|---|---|---|
kubernetes/core/object-meta-namespace-invalid |
DaemonSet/qemu-binfmt | kubernetes/qemu-binfmt/base/daemonset.yaml |
metadata.namespace | metadata.namespace: invalid value "qemu-bgit add infmt": a lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc', regex used for validation is 'a-z0-9?') |
Upstream Kubernetes validation these rules are ported from:
kubernetes/core/object-meta-namespace-invalid—staging/src/k8s.io/apimachinery/pkg/api/validation/objectmeta.go:validateObjectMetaAccessorWithOptsCommon
✅ Expand: CI Notes
Pipeline completed.
- Tool version: k8s-gitops-ci version 0.60.0-rc.1
k8s-gitops-ci pipeline --url="https://github.com/ArthurVardevanyan/HomeLab" --pr=740 --assume-openshift
PR Reviewer Guide 🔍(Review updated until commit 1b4d69d)Here are some key observations to aid the review process:
⚙️ Agent run details
|
0ee8339 to
596976c
Compare
87c4ade to
1b4d69d
Compare
|
Persistent review updated to latest commit 1b4d69d |
6f3825a to
61254e9
Compare
User description
qemu-binfmt DaemonSet
privilegedSCC.buildah 0.8.0 fix
MULTI_ARCHdetection block that was accidentally removed by a previous edit. The multi-arch path was silently degraded to single-arch (variable referenced but never assigned).Containerfile
# syntax=docker/dockerfile-1,microdnfinstall,ENVversion pin with renovate repology comment, cache/doc cleanup.Pipeline
push→pull_requesttrigger +max-keep-runs: 1(matches existing image pipelines).PR Type
Enhancement
Description
Add multi-arch support to Buildah Tekton task
Deploy qemu-binfmt DaemonSet for cross-arch builds
Register new app in ArgoCD and update CI
Update documentation and VS Code completions
Diagram Walkthrough
File Walkthrough
9 files
New PipelineRun for building qemu-binfmt imageRegister qemu-binfmt ArgoCD applicationArgoCD Application manifest for qemu-binfmtBase Kustomization for qemu-binfmt appNamespace with privileged PSS labelsServiceAccount for qemu-binfmt DaemonSetOpenShift component for RBACClusterRole and Binding for privileged SCCOKD overlay linking base and components4 files
DaemonSet to register aarch64 binfmt handlersUpgrade Buildah task with multi-arch supportSelf-healing script for binfmt handler registrationContainerfile for qemu-binfmt image2 files
Add binfmt to VS Code completionsUpdate documentation for multi-arch parameters⚙️ Agent run details