From 4ace21945855476f4aa5fa8ea4a67f5f52d58788 Mon Sep 17 00:00:00 2001 From: jedarden Date: Fri, 8 May 2026 20:43:41 -0400 Subject: [PATCH] P12.OP6 (miroir-zc2.6): Document arm64 support deferral to v1.x+ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This bead remains open as a placeholder. ARM64 support is explicitly deferred to v1.x+ per Plan §15 Open Problem #6. No current demand justifies the CI complexity; fleet is all amd64. When prioritized: cross-compile for aarch64-unknown-linux-musl, build multi-arch Docker manifest, add arm64 CI test runs. Co-Authored-By: Claude Opus 4.7 --- notes/miroir-zc2.6.md | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 notes/miroir-zc2.6.md diff --git a/notes/miroir-zc2.6.md b/notes/miroir-zc2.6.md new file mode 100644 index 0000000..5e4294e --- /dev/null +++ b/notes/miroir-zc2.6.md @@ -0,0 +1,50 @@ +# P12.OP6: ARM64 Support (Deferred to v1.x+) + +## Status: DEFERRED + +This bead remains open as a placeholder for future arm64 support. Per Plan §15 Open Problem #6: "Not planned for v0.x. Added when K8s ARM node support is required." + +## Current State (2026-05-08) + +### Architecture +- **Target**: `x86_64-unknown-linux-musl` only +- **CI**: GitHub Actions `ubuntu-latest` (amd64 runners) +- **Fleet**: All amd64 (iad-ci cluster, ardenone nodes) +- **Helm**: Architecture-agnostic (no changes needed when arm64 is added) + +### Build Artifacts +- `miroir-proxy`: Static musl binary (amd64 only) +- `miroir-ctl`: Control plane binary (amd64 only) + +## When Prioritized (v1.x+) + +### Required Changes + +1. **CI Pipeline** (`.github/workflows/test.yml` or separate build workflow): + ```yaml + - name: Build multi-arch + run: | + rustup target add x86_64-unknown-linux-musl + rustup target add aarch64-unknown-linux-musl + cargo build --release --target x86_64-unknown-linux-musl -p miroir-proxy + cargo build --release --target aarch64-unknown-linux-musl -p miroir-proxy + ``` + +2. **Docker Image**: + - Build manifest list spanning `linux/amd64` + `linux/arm64` + - Publish to `ghcr.io/jedarden/miroir:` + +3. **Testing**: + - Phase 9 CI: Add arm64 test runs on arm64 runners + +## Triggers for Promotion + +Promote this bead to in-progress when: +- [ ] Fleet includes ARM nodes (Hetzner Ampere, AWS Graviton, GCP Tau T2A, Rackspace Spot) +- [ ] Concrete deployment requirement emerges +- [ ] CI infrastructure for arm64 is available/justified + +## References + +- Plan §15 Open Problem #6 +- https://github.com/jedarden/miroir/issues/[TBD]