feat: enable ARM/MultiArch support and update dependencies#1140
feat: enable ARM/MultiArch support and update dependencies#1140khushiiagrawal wants to merge 5 commits intokrkn-chaos:mainfrom
Conversation
Signed-off-by: khushiiagrawal <khushisaritaagrawal@gmail.com>
ⓘ Your approaching your monthly quota for Qodo. Upgrade your plan PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||||||
|
@pablomh Please take a look. |
ⓘ Your approaching your monthly quota for Qodo. Upgrade your plan PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||
|
@khushiiagrawal are you able to also update the docker-image.yaml workflow to pass the new arg, we'll want to push to quay a arm64 and amd64 version |
Signed-off-by: khushiiagrawal <khushisaritaagrawal@gmail.com>
|
@paigerube14 Please take a look. |
|
@paigerube14 why is the license compliance check failing ? i have no idea about it. appreciate your guidance . |
you can ignore it! |
|
@paigerube14 Please take a look. |
|
@paigerube14 a gentle ping 😊 |
|
@paigerube14 do i have to make any changes here ? do let me know. would be happy to help. |
|
@paigerube14 PTAL. |
|
@paigerube14 any updates here ? |
containers/Dockerfile.template
Outdated
| go mod edit -replace github.com/containerd/containerd@v1.7.27=github.com/containerd/containerd@v1.7.29&&\ | ||
| go mod edit -require github.com/opencontainers/runc@v1.2.5&&\ | ||
| go mod edit -require github.com/go-git/go-git/v5@v5.13.2&&\ | ||
| go mod edit -require github.com/opencontainers/selinux@v1.11.1&&\ |
There was a problem hiding this comment.
is there a reason we are going backwards on some of the versions? it would be good if we could keep current versions we know don't break
There was a problem hiding this comment.
I've restored runc, selinux, xz, and golang.org/x/net back to the versions currently on main.
I also cleaned up the duplicate containerd require line (it was listed twice, v1.7.29 and v1.7.27 with a replace directive). Now there's a single containerd@v1.7.30 entry, which makes the replace unnecessary, so I removed that too.
…nc, selinux, xz, and net packages Signed-off-by: khushiiagrawal <khushisaritaagrawal@gmail.com>
|
@paigerube14 PTAL. Thanks! |
User description
Type of change
Description
This PR introduces support for ARM and Multi-Architecture builds for the Kraken base container image. By updating the
Dockerfile.template, we now leverage Docker'sTARGETARCHargument to correctly cross-compile theocandvirtctlbinaries for the target platform (e.g.,arm64).Additionally, this PR updates the build-time Go dependencies (such as
buildkit,containerd,docker,runc) to their latest stable versions to ensure better security and compatibility with modern environments.Related Tickets & Documents
Documentation
Checklist before requesting a review
REQUIRED:
Description of combination of tests performed and output of run
Verification: Docker Build on ARM64
I verified the changes by building the Docker image on an ARM64 verification environment and checking the architecture of the resulting binaries.
PR Type
Enhancement
Description
Enable ARM/MultiArch Docker builds via TARGETARCH argument
Update Go dependencies to latest stable versions
Cross-compile oc and virtctl binaries for target platforms
Improve security and compatibility with modern environments
Diagram Walkthrough
File Walkthrough
Dockerfile.template
Add ARM support and update Go dependenciescontainers/Dockerfile.template
ARG TARGETARCHto oc-build stage for multi-architecture supportv0.12.5→v0.19.0, containerd v1.7.29→v1.7.30, runc v1.2.8→v1.2.5)
GOARCH=$TARGETARCHenvironment variable for oc and virtctl buildsto enable cross-compilation
golang.org/x/oauth2, go-git)