Globalнужен перезапуск
Интерфейс появился в PowerMTA 5.5 и позволяет читать и менять отдельные части конфигурации по HTTP. Сейчас это два вида записей: списки адресов (в том числе списки подавления) и адреса отправки с их метками получателей. По умолчанию выключен.
🔴 Созданное через этот интерфейс меняется только через него. Руководство говорит прямо: «Any configuration created via this API can only be modified via the API». В файле конфигурации этих записей нет — они живут в отдельных файлах, /var/lib/pmta/config-api на Linux, и подтягиваются при каждой перезагрузке.
Значит, у узла становится два источника правды. Тот, кто читает файл конфигурации, видит не всю конфигурацию. Для парка, который собирает файл целиком и раскладывает по узлам, это прямая проблема: наш файл не описывает узел.
Выключение не удаляет. Записи становятся невидимы и вернутся, если интерфейс включить снова. Забытая правка может всплыть через год.
Каждая правка вызывает перезагрузку. Если она не проходит, правка отклоняется, а текст ошибки возвращается в ответе — иногда сбивающий с толку: попытка удалить используемый список даёт «нет такого списка», потому что удаление откатилось.
🔴 Если на узел приходит чужая конфигурация, это стоит проверить первым делом. Строка http-enable-api-config yes означает, что часть настроек узла лежит не в файле, и перенос их не захватит: каталог /var/lib/pmta/config-api надо переносить отдельно.
Для парка ответ один, и он в умолчании:
| Значение | Когда |
|---|---|
| no (умолчание) | конфигурацию собирает и раскладывает Хаб |
| yes | узел настраивают чужой программой по HTTP |
Совместить два способа нельзя: записи, созданные интерфейсом, правятся только им.
# включать только там, где узел настраивает чужая программа http-mgmt-port 1000 http-api-key abcd_0123_abcd_0123_abcd_0123_ab http-enable-api-config yes
что делают не так и чем это кончается3 ошибки▶
§ 8.3
§ 8.3
§ 8.3
4 связи
http-api-keyGlobalЧтение может пройти по уровню доступа, но правка требует ключа всегда. § 8.3Адреса отправки через API настройкиОдин из двух видов записей, которые этот интерфейс позволяет заводить. § 3.3.1.58.25
ls -la /var/lib/pmta/config-api/ 2>/dev/null
3 статьи
◇Принять, направить, доставитьПуть письма внутри узла: принять, решить куда, доставить — и между этими тремя шагами живут все настройки.◇Четыре типа значений, на которых написан весь конфигЛогическое, образец домена, регулярное выражение и промежуток времени — определены один раз в § 3.2 и дальше используются всеми директивами.◇Перезагрузка настроек против перезапуска службыКонфигурация читается при старте, дальше правки подхватываются командой перезагрузки — кроме тех директив, которые руководство помечает как требующие перезапуска.