Skip to content

Add riscv64 to supported architectures #21509

@gounthar

Description

@gounthar

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions