Главное
RasGate 0.2.1 усиливает надёжность выполнения RAC-команд и добавляет средства
установки приложения в качестве службы Windows или systemd.
Релиз включает изменения промежуточной версии 0.2.0.
Надёжность выполнения RAC
- добавлена явная семантика результатов
succeeded,failedиunknown; - усилена обработка таймаутов, отмены и завершения дерева процессов;
- добавлены ограничения на количество и размер аргументов;
- ограничен размер
stdoutиstderr; - выполнение ограничено числом параллельных процессов;
- результат с неопределённым внешним состоянием явно помечается как небезопасный
для автоматического повтора; - проверка
rac --versionиспользует кэширование и single-flight.
API и диагностика
- унифицированы успешные и ошибочные JSON-ответы;
- добавлен
X-Trace-Id; - добавлено безопасное структурированное журналирование HTTP, RAC и событий жизненного цикла;
- сырые аргументы RAC, API-ключи и содержимое вывода не записываются в журнал;
- расширена проверка конфигурации при запуске.
Установка в качестве службы
- добавлена команда
--validate-config, не открывающая HTTP-порт и не
запускающая RAC; - добавлены скрипты установки и удаления Windows Service;
- добавлены unit-файл и скрипты установки systemd;
- Linux-служба работает от отдельного непривилегированного пользователя
rasgate; - конфигурация теперь загружается относительно каталога приложения, независимо
от текущего рабочего каталога процесса.
Важно для клиентов API
Поле success описывает обработку HTTP-запроса. Результат RAC-команды необходимо
определять по outcome, exitCode и timedOut.
Результат unknown нельзя автоматически повторять: команда могла изменить
состояние кластера до таймаута, отмены или ошибки очистки ресурсов.
Артефакты
rasgate-0.2.1-linux-x64.tar.gz— self-contained сборка для Linux x64;rasgate-0.2.1-win-x64.zip— self-contained сборка для Windows x64;SHA256SUMS— контрольные суммы архивов.
Установка отдельного .NET Runtime не требуется.