P12.OP6: expand arm64 deferral note with implementation roadmap
Section 15 Open Problem #6 was a one-line placeholder. Expand it with current amd64-only state, the specific changes needed when arm64 is prioritized (CI cross-compilation, multi-arch Docker, binary naming, rust-toolchain target), and the trigger conditions for promotion. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
44237eb4e5
commit
7f03fe6ce8
1 changed files with 14 additions and 1 deletions
|
|
@ -3736,4 +3736,17 @@ These are documented constraints, not blockers. Initial release ships with known
|
|||
|
||||
5. **Dump import distribution** — Importing a Meilisearch dump via Miroir historically broadcast all documents to all nodes, transiently placing 100% of documents on every node. **Status:** Addressed by streaming routed dump import (§13.9); documents are routed to owning nodes on the fly, never broadcast. Broadcast mode retained as a fallback for dump variants Miroir cannot fully reconstruct via the public API.
|
||||
|
||||
6. **arm64 support** — Not planned for v0.x. Added when K8s ARM node support is required.
|
||||
6. **arm64 support** — Deferred. Not planned for v0.x. Added when K8s ARM node support is required.
|
||||
|
||||
**Current state:** Everything is amd64-only — `rust-toolchain.toml` targets `x86_64-unknown-linux-musl`, Dockerfile builds only that target, CI binaries are named `*-linux-amd64`, and there is no multi-arch Docker manifest. The fleet is entirely amd64 (iad-ci, ardenone cluster nodes).
|
||||
|
||||
**When prioritized, the changes are:**
|
||||
|
||||
- **CI cross-compilation:** The Argo Workflow `cargo-build` step needs a matrix over targets — install `aarch64-linux-gnu` cross-compiler, add `rustup target add aarch64-unknown-linux-musl`, build both `x86_64-unknown-linux-musl` and `aarch64-unknown-linux-musl` for `miroir-proxy` and `miroir-ctl`.
|
||||
- **Docker multi-arch:** Kaniko build needs `--customPlatform=linux/amd64,linux/arm64` (or equivalent) for manifest list support. Image tag `ghcr.io/jedarden/miroir:<version>` should span both architectures.
|
||||
- **Binary naming:** Add `miroir-proxy-linux-arm64` and `miroir-ctl-linux-arm64` to GitHub releases.
|
||||
- **Helm chart:** No changes — the chart is arch-agnostic at the k8s layer; node selectors choose the right manifest entry automatically.
|
||||
- **`rust-toolchain.toml`:** Add `aarch64-unknown-linux-musl` to the targets array.
|
||||
- **Phase 9 testing:** Add arm64 test runs once the CI pipeline supports cross-compilation.
|
||||
|
||||
**Trigger for prioritization:** A concrete use case emerges — e.g., deploying to Hetzner Ampere, AWS Graviton, GCP Tau T2A, or Rackspace Spot ARM nodes.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue