-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Description
What would you like to be added?
Add riscv64 to the list of supported architectures, removing the need for ETCD_UNSUPPORTED_ARCH=riscv64 to run etcd on RISC-V hardware.
Currently, etcd builds and runs correctly on riscv64 but refuses to start without the override:
{"level":"error","msg":"Refusing to run etcd on unsupported architecture since ETCD_UNSUPPORTED_ARCH is not set","arch":"riscv64"}
With ETCD_UNSUPPORTED_ARCH=riscv64, it runs normally:
etcd Version: 3.7.0-alpha.0
Go Version: go1.26.1
Go OS/Arch: linux/riscv64
Why is this needed?
RISC-V hardware is maturing for edge and server workloads. etcd is a core dependency for Kubernetes (and k3s), which is actively working toward riscv64 support (k3s-io/k3s#7151). Having etcd officially support riscv64 removes a friction point for the entire K8s ecosystem on RISC-V.
Build evidence from native hardware (BananaPi F3, SpacemiT K1, rv64gc):
- Server build: 2m20s
- etcdctl build: 34s
- Both binaries run correctly
Native riscv64 CI runners are available through the RISE Project (ubuntu-24.04-riscv), free for open source. To enable: install the RISE runners GitHub App.