# Поддерживаемые платформы

> Поддержка распространённых архитектур и операционных систем в etcd

---

Индекс LLMS: [llms.txt](/ru/llms.txt)

---

## Уровни поддержки {#support-tiers}

etcd работает на разных платформах, однако предоставляемые гарантии зависят от
уровня поддержки платформы:

- **Уровень 1**: полностью поддерживается [сопровождающими etcd][etcd maintainers]; гарантируется
  прохождение всех тестов, включая функциональные тесты и тесты надёжности.
- **Уровень 2**: гарантируется прохождение интеграционных и сквозных тестов, но
  не обязательно функциональных тестов или тестов надёжности.
- **Уровень 3**: гарантируется успешная сборка; тестирование может быть минимальным
  или отсутствовать, поэтому платформу следует считать _нестабильной_.

## Текущая поддержка {#current-support}

В следующей таблице перечислены поддерживаемые платформы и соответствующие
уровни поддержки etcd:

| Архитектура | Операционная система | Уровень поддержки |     Сопровождающие      |
|:------------:|:----------------:|:------------:|:--------------------:|
| AMD64        | Linux            |      1       | [сопровождающие etcd][etcd maintainers] |
| ARM64        | Linux            |      1       | [сопровождающие etcd][etcd maintainers] |
| AMD64        | Darwin           |      3       |                      |
| ARM64        | Darwin           |      3       |                      |
| AMD64        | Windows          |      3       |                      |
| ppc64le      | Linux            |      3       |                      |
| s390x        | Linux            |      3       |                      |

Платформы, отсутствующие в таблице, не поддерживаются.

## Поддержка новой платформы {#supporting-a-new-platform}

Хотите участвовать в etcd как «официальный» сопровождающий новой платформы?
Помимо обязательства поддерживать платформу, необходимо настроить непрерывную
интеграцию (CI) etcd, удовлетворяющую требованиям соответствующего уровня:

| Непрерывная интеграция etcd           | Уровень 1  | Уровень 2  | Уровень 3  |
|---------------------------------------|:-------:|:-------:|:-------:|
| Сборка проходит                       | &check; | &check; | &check; |
| Модульные тесты проходят              | &check; | &check; |         |
| Интеграционные и сквозные тесты проходят | &check; | &check; |         |
| Тесты надёжности проходят             | &check; |         |         |

Пример настройки CI уровня 2 для ARM64 приведён в [etcd PR #12928][].

## Неподдерживаемые платформы {#unsupported-platforms}

Чтобы сервер etcd не был случайно запущен на неподдерживаемой платформе, etcd
выводит предупреждение и немедленно завершает работу, если переменная окружения
`ETCD_UNSUPPORTED_ARCH` не содержит целевую архитектуру.

> [!WARNING]
> **32-bit системы**
>   В etcd существуют **известные проблемы** на 32-bit системах из-за ошибки в среде выполнения Go.
>   Дополнительные сведения приведены в [issue Go #599][go-issue] и [примечании об
>   ошибке пакета atomic][go-atomic].
>
>   [go-atomic]: https://golang.org/pkg/sync/atomic/#pkg-note-BUG
>   [go-issue]: https://github.com/golang/go/issues/599

[etcd maintainers]: https://github.com/etcd-io/etcd/blob/main/OWNERS
[etcd PR #12928]: https://github.com/etcd-io/etcd/pull/12928
