kubermatic / kubermatic/machine-controller

feat: Multi-arch (amd64 + arm64) container images for machine-controller and OSM

Open
#2,014 0 comments 0 reactions 0 assignees View on GitHub
kind/feature sig/cluster-management
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.