-
Notifications
You must be signed in to change notification settings - Fork 201
Description
Is your feature request related to a problem? Please describe.
There are numerous cases where folks need to test and deploy an amd64-only
package via emulation on an arm64
cluster. This has been observed multiple times with environments we support, where engineers need to be able to debug packages for applications they directly dont control that are x86 only on arm64 hardware.
For development, it would be useful to bypass the cluster architecture check, but currently this isn’t possible with the normal zarf deploy
flow.
I have a WIP implementation here
It was brought to my attention it might make more sense to scope that down to just the arch checks. So the flag bypasses just "checkClusterArchitecture": true,
from:
deployChecks := map[string]bool{
"checkClusterArchitecture": true,
"checkStateErrors": true,
"checkCertExpiry": true,
}
Given that feedback, the details below assume that to be the preferred option.
Describe the behavior you'd like
- Given: An
arm64
cluster and anamd64
-only package. - When: A user deploys the package with a flag to bypass architecture validation.
- Then: Zarf should allow the deployment to continue, with the understanding that emulation issues may occur.
This could be implemented as a boolean flag (e.g., --ignore-cluster-arch-check
) that specifically skips the checkClusterArchitecture
validation during deployment.
Describe alternatives you've considered
- Implementing this under
zarf dev
, but this workflow is not common and has significant limitations compared tozarf deploy
. - Running an entire
amd64
VM for local development, but this is unacceptably slow due to qemu overhead. - Manually modifying checks in the source, but this is not user-friendly.
Additional context
- This feature would primarily benefit delivery teams testing packages from other contractors or vendors.
- In production, these packages would run on
amd64
clusters, but developers working locally (e.g., on macOS with Rosetta and Lima/Colima/Docker Desktop) need to emulateamd64
images in their arm64 clusters. - In practice, running
amd64
images in arm64 clusters works well enough for development purposes.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status