Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
{
"version": "kc-mission-v1",
"name": "argo-4211-cross-build-images-for-arm",
"missionClass": "solution",
"author": "KubeStellar Bot",
"authorGithub": "kubestellar",
"mission": {
"title": "argo: Cross Build Images for ARM",
"description": "Cross Build Images for ARM. This issue affects 76+ users.",
"type": "feature",
"status": "completed",
"steps": [
{
"title": "Identify argo feature symptoms",
"description": "Check for the issue in your argo deployment:\n```bash\nkubectl get pods -n argo -l app=argo\nkubectl logs -l app.kubernetes.io/name=argo -n argo --tail=100 | grep -i error\n```\nLook for errors related to: Cross Build Images for ARM"
},
{
"title": "Check current argo configuration",
"description": "Review the relevant argo configuration:\nCurrently ArgoCD supports building arm64 images but doesn't publish them due to issues with cross-building with normal docker and GitHub Actions (AFAIK). There's some recent advancements that would enable this with GitHub Actions."
},
{
"title": "Apply the fix for Cross Build Images for ARM",
"description": "## Summary\n\nI added a function to publish arm64 docker image in release workflow using `docker/build-push-action`.\n\nI tested this workflow with my repo and docker hub.\nhttps://github.com/dragoneena12/argo-cd/actions/runs/1045272993\nhttps://hub.docker.com/repository/docker/dragoneena12/argocd\n\nThis\n```yaml\ndocker run --rm -it -v $(pwd)/ui/package.json:/src/package.json:ro -v $(pwd)/ui/yarn.lock:/src/yarn.lock:ro -v $(pwd)/cache:/cache --workdir /src node:12.18.4 yarn install --cache-folder /cache\n```"
},
{
"title": "Confirm Cross Build Images for ARM is resolved",
"description": "Verify the fix by checking that the original error no longer occurs:\n```bash\nkubectl logs -l app.kubernetes.io/name=argo -n argo --tail=50 --since=5m\nkubectl get events -n argo --sort-by='.lastTimestamp' | tail -10\n```\nConfirm that the issue symptoms are gone."
}
],
"resolution": {
"summary": "The root cause is: ## Summary\n\nI added a function to publish arm64 docker image in release workflow using `docker/build-push-action`.\n\nI tested this workflow with my repo and docker hub.\nhttps://github.com/dragoneena12/argo-cd/actions/runs/1045272993\nhttps://hub.docker.com/repository/docker/dragoneena12/argocd\n\nThis should be useful for argocd users who use arm64 k8s clusters like raspi4 or M1Mac.\n\nChecklist:\n\n*.",
"codeSnippets": [
"docker run --rm -it -v $(pwd)/ui/package.json:/src/package.json:ro -v $(pwd)/ui/yarn.lock:/src/yarn.lock:ro -v $(pwd)/cache:/cache --workdir /src node:12.18.4 yarn install --cache-folder /cache",
"The Docker context becomes huge, so not really ideal, but it does do the trick. Now building via `docker buildx` seems to work fine:",
"This produces images; I have not tried them yet, that is next on the agenda :D\r\n\r\nFor anyone also trying this, also a few observations worth sharing:\r\n- Building for `arm/v7` fails for me on `go get` with TLS errors for any Google domain (works fine for github.com if using `GOPROXY=direct`). The reason seems to be that emulation is so slow, `go get` gives up before the TCP connection is established. It also takes ~60 CPU minutes to get to that point (where `arm64` only takes a few CPU seconds to get there). This can fully be a problem of my Qemu version etc (using Ubuntu 20.04 via WSL2).\r\n- The `yarn` steps take a while on `arm64`. This seems to be because it needs to compile a lot of these dependencies, as many don't seem to have an `arm64` precompiled variant.\r\n- webpack on native machin"
]
}
},
"metadata": {
"tags": [
"argo",
"graduated",
"app-definition",
"feature"
],
"cncfProjects": [
"argo"
],
"targetResourceKinds": [],
"difficulty": "intermediate",
"issueTypes": [
"feature"
],
"maturity": "graduated",
"sourceUrls": {
"issue": "https://github.com/argoproj/argo-cd/issues/4211",
"repo": "https://github.com/argoproj/argo-cd",
"pr": "https://github.com/argoproj/argo-cd/pull/6758"
},
"reactions": 76,
"comments": 20,
"synthesizedBy": "copilot"
},
"prerequisites": {
"kubernetes": ">=1.24",
"tools": [
"kubectl"
],
"description": "A running Kubernetes cluster with argo installed or the issue environment reproducible."
},
"security": {
"scannedAt": "2026-03-10T21:33:59.459Z",
"scannerVersion": "cncf-gen-3.0.0",
"sanitized": true,
"findings": []
}
}
Loading