kubermatic / kubermatic/machine-controller
feat: Multi-arch (amd64 + arm64) container images for machine-controller and OSM
- Dominant language
- Go
- Stars
- 326
- Forks
- 138
- Avg merge
- 2d 46m
- Merged PRs (30d)
- 12
Description
## Summary
The machine-controller and operating-system-manager currently only ship amd64 container images. This blocks full ARM64 support in KubeOne (and KKP) across all providers.
## Current State
- machine-controller image: amd64 only
- operating-system-manager image: amd64 only
- KubeOne arm64 binary exists but can't fully provision ARM64 clusters without these images
## Proposal
Build and publish multi-arch (amd64 + arm64) images for both:
- `machine-controller`
- `operating-system-manager`
GitHub Actions supports multi-arch builds natively via `docker buildx` — this should be achievable without additional infrastructure.
## Relates to
- kubermatic/kubeone#2922 — ARM support blocked by missing MC arm64 image
## Desired Outcome
- CI pipeline produces multi-arch manifests (amd64 + arm64) for MC and OSM
- Existing amd64 users unaffected (same image tags, manifest list)
- ARM64 clusters can provision worker nodes via MC/OSM
/kind feature
Contributor guide
Research direction
Start by locating the GitHub Actions workflows and Docker build entry points for machine-controller and operating-system-manager. Use docker buildx to produce amd64 and arm64 manifests for both images, then verify that existing tags remain usable for amd64 and that ARM64 clusters can consume the published images.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, github-actions, go
- Domain
- build-system, ci-cd, infrastructure
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100