Выполняет команду консоли узла, переданную запросом, — почти любую из тех, что понимает pmta.
Вызов — POST /command с полями формы command — текст команды без слова pmta — и format. Формат ответа — json или xml со структурой либо json-text и xml-text: консольный текст, обёрнутый в документ.
Исключения названы в руководстве: register, deregister и интерактивные команды вроде resolve –interactive так не выполняются.
🔴 Это полноценная консоль по сети: сюда проходит и удаление писем, и смена режима очереди, и перечитывание конфигурации. Руководство авторизует запрос ключом из http-api-key в заголовке X-API-Key, а ключ даёт полный доступ с любого адреса — хранить его надо как пароль администратора.
И второе, замеченное Хабом на живом MTA: json-text на части команд отдаёт пустую строку там, где json отдаёт структуру.
Из операций по SSH идут только остановка, запуск и перезапуск службы; применение конфигурации — запись файлов, проверка и перечитывание — тоже идёт по SSH.
Какой формат брать:
| format | Что приходит | Когда |
|---|---|---|
| json | структура в data | программе — так читает Хаб |
| xml | структура в XML | программе, которой удобнее XML |
| json-text | консольный текст строкой в data | показать человеку как есть |
| xml-text | консольный текст в XML | то же для XML |
# команда консоли по сети: ключ из http-api-key curl -s -H 'X-API-Key: KEY' 'http://127.0.0.1:8080/command' -F command='show version' -F format=json
4 связи
Как узел решает, впустить ли запрос по HTTPМеханизм, который здесь и виден. § 8.4
curl -s -H 'X-API-Key: KEY' 'http://127.0.0.1:8080/command' -F command='show version' -F format=json grep -n 'http-api-key' /etc/pmta/config
3 статьи
◇Что узел рассказывает о себе и по каким каналамСемь поверхностей наблюдения: веб-монитор, консоль в четырёх форматах, журнал, учёт, поиск по учёту, метрики и выгрузка во внешнюю аналитику.◇Два обработчика входящих отчётов и что с ними делатьОтказы письмом и жалобы разбираются двумя одинаково устроенными блоками; у каждого свой список адресов и своя пара решений о судьбе письма.◇Пять способов очереди отдать письмоОчередь не обязана ходить по SMTP: она умеет писать в файл, запускать программу, стучаться по HTTP или выбрасывать.