🤖 Pull request created from `various-fixes` containing PageHead
breadcrumbs and navigation alignment fixes, Umami analytics proxy, and
infrastructure updates.
4.8 KiB
title, description, weight
| title | description | weight |
|---|---|---|
| Справочник CLI | Лаунчер apex: перечисление, диспетчеризация, справка и коды возврата. | 31 |
Лаунчер — это скрипт на Python из стандартной библиотеки, commons/apex (попадает в PATH после выполнения init.sh). Все операции выполняются над локальным checkout: аргумента узла не существует.
Формы вызова
| Команда | Поведение |
|---|---|
apex или apex --help |
Перечислить каждое доступное действие с его кратким описанием; выход с кодом 0. |
apex <group>/<action> [args...] |
Выполнить одно действие. |
apex <group>/<action> --help |
Вывести справку argparse для действия, сгенерированную из METADATA; выход с кодом 0. |
Перечисление помечает каждую запись источником оверлея — без метки (commons), (local), (local override) — и добавляет [DISABLED: reason], если модуль объявляет DISABLED. Перечисление использует статическое сканирование через ast, поэтому код самих действий не выполняется.
Раскладка и разрешение путей
При запуске лаунчер определяет, в какой из двух раскладок он находится:
- Checkout узла — лаунчер находится в каталоге
commons/, родительский каталог которого содержитnode.env. Родительский каталог служит корнем репозитория;proprietaries/actions/— дерево оверлея; идентичность узла разрешается перед диспетчеризацией, а любые предупреждения об идентичности выводятся первыми в логе. - Автономный commons — любое другое расположение. Каталог commons служит собственным корнем, оверлей отсутствует, а
ctx.nodeравенNone(строки лога содержат префиксglobal).
sys.path формируется следующим образом: каталог commons (позволяет импортировать engine), затем commons/vendor/ при наличии и ../proprietaries/ в checkout узла (позволяет импортировать проприетарный код из lib/).
Коды возврата
| Код | Источник |
|---|---|
0 |
Действие вернуло 0 или нецелое значение; вызовы --help. |
1 |
Неизвестное действие; отключённое действие; необработанное исключение (выводится в лог как Type: message с префиксом контекста); нецелый SystemExit. |
64 |
Ошибка использования при разборе аргументов (EX_USAGE). |
65 |
Ошибка данных, вызванная библиотеками движка (EX_DATAERR) — например, пустой результат рендеринга crontab. |
66 |
Неполный или отсутствующий ввод (EX_NOINPUT) — например, не заданы поля идентичности или отсутствует каталог конфигурации ufw. |
Любой другой код — это значение, которое вернуло или вызвало само действие.
Формат лога
Весь вывод движка и действий оформляется по единому шаблону:
[<node>] [<group>/<action>] [LEVEL] message
LEVEL — это INFO, WARN, ERROR или SUCCESS. Строки ERROR выводятся в stderr, а остальные — в stdout. Такой формат удобен для cron: упрощает сбор логов и отправку оповещений.
См. также: