P12.OP6 (miroir-zc2.6): Document arm64 support deferral to v1.x+

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 <noreply@anthropic.com>
This commit is contained in:
jedarden 2026-05-08 20:43:41 -04:00
parent 5ed5c79b4b
commit 4ace219458

50
notes/miroir-zc2.6.md Normal file
View file

@ -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:<version>`
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]