Files
ermnvldmr.com/services/docs/content/ru/root/reference/root-api.md
T

63 lines
4.3 KiB
Markdown

---
title: Справочник ROOT_ API
description: Стандартизированные переменные окружения и библиотеки ядра.
weight: 50
---
Каждый Action-скрипт, выполняемый через диспетчер `root`, имеет доступ к стандартизированному набору переменных окружения и Bash-библиотек. Это обеспечивает согласованный API для взаимодействия с инфраструктурой.
## Диспетчер `root` {#dispatcher}
Команда `root` (находится в `.operator/shared/scripts/run/root`) является основной точкой входа для всей оркестрации. Ее основные обязанности включают:
1. **Разрешение контекста**: Поиск целевого [Узла (Node)](/root/glossary#node) и связанных с ним [Уровней (Tiers)](/root/glossary#tier) хранилища.
2. **Загрузка библиотек**: Подключение основных библиотек ядра (например, `root_core`, `root_sys`).
3. **Выполнение Action-скриптов**: Поиск и запуск запрошенного действия, с приоритетом локальных переопределений.
## Переменные разрешения путей {#paths}
Эти переменные устанавливаются диспетчером и доступны всем Action-скриптам.
| Переменная | Описание |
| :--- | :--- |
| `ROOT_SHARED` | Абсолютный путь к репозиторию [Commons](/root/glossary#commons). |
| `ROOT_CONFIGS` | Абсолютный путь к основному репозиторию конфигураций. |
| `ROOT_LOCAL` | Абсолютный путь к директории локального оператора (`.operator/local`). |
| `ROOT_ACTIONS_SHARED` | Путь к глобальным общим Action-скриптам. |
| `ROOT_ACTIONS_LOCAL` | Путь к специфичным для узла локальным Action-скриптам. |
## Переменные контекста узла {#node-context}
Когда действие нацелено на конкретный узел, следующие переменные устанавливаются вспомогательной функцией `root_require_node`.
| Переменная | Описание |
| :--- | :--- |
| `ROOT_NODE` | Идентификатор целевого узла (например, `daedalus`). |
| `ROOT_NODE_DIR` | Абсолютный путь к директории конфигурации узла. |
| `ROOT_TIER1` | Абсолютный путь к директории [Уровня 1](/root/glossary#tier). |
| `ROOT_TIER2` | Абсолютный путь к директории Уровня 2. |
| `ROOT_TIER3` | Абсолютный путь к директории Уровня 3. |
## Основные функции логирования {#logging}
Стандартизированное логирование обеспечивает согласованный вывод всех действий.
- `root_log_info`: Стандартный информационный вывод.
- `root_log_warn`: Предупреждения, требующие внимания.
- `root_log_error`: Критические ошибки, отправляемые в `stderr`.
- `root_log_success`: Подтверждение успешного завершения задачи.
## Система помощи {#help}
Диспетчер предоставляет встроенную систему помощи, парся блок `action_metadata` в начале каждого скрипта. Это позволяет скриптам оставаться декларативными без реализации собственной обработки аргументов командной строки.
```bash filename="example-action-metadata"
action_metadata() {
cat <<EOF
description: "Краткое описание действия."
args:
- NODE: "Имя целевого узла."
EOF
}
```