title | weight | description |
---|---|---|
Supported platforms |
4800 |
etcd support for common architectures & operating systems |
etcd runs on different platforms, but the guarantees it provides depends on a platform's support tier:
- Tier 1: fully supported by etcd maintainers; etcd is guaranteed to pass all tests including functional and robustness tests.
- Tier 2: etcd is guaranteed to pass integration and end-to-end tests but not necessarily functional or robustness tests.
- Tier 3: etcd is guaranteed to build, may be lightly tested (or not), and so it should be considered unstable.
The following table lists currently supported platforms and their corresponding etcd support tier:
Architecture | Operating system | Support tier | Maintainers |
---|---|---|---|
AMD64 | Linux | 1 | etcd maintainers |
ARM64 | Linux | 1 | etcd maintainers |
AMD64 | Darwin | 3 | |
AMD64 | Windows | 3 | |
ARM | Linux | 3 | |
386 | Linux | 3 | |
ppc64le | Linux | 3 | |
s390x | Linux | 3 |
Unlisted platforms are unsupported.
Want to contribute to etcd as the "official" maintainer of a new platform? In addition to committing to support the platform, you must setup etcd continuous integration (CI) satisfying the following requirements, depending on the support tier:
etcd continuous integration | Tier 1 | Tier 2 | Tier 3 |
---|---|---|---|
Build passes | ✓ | ✓ | ✓ |
Unit tests pass | ✓ | ✓ | |
Integration and end-to-end tests pass | ✓ | ✓ | |
Robustness tests pass | ✓ |
For an example of setting up tier-2 CI for ARM64, see etcd PR #12928.
To avoid inadvertently running an etcd server on an unsupported platform, etcd
prints a warning message and exits immediately unless the environment variable
ETCD_UNSUPPORTED_ARCH
is set to the target architecture.
{{% alert title="32-bit systems" color="warning" %}} etcd has known issues on 32-bit systems due to a bug in the Go runtime. For more information see the Go issue #599 and the atomic package bug note.
{{% /alert %}}