Вышла новая версия инструмента для автоматизации инфраструктуры на чистом Python. Заодно проект перешёл на полный semver: теперь версии будут выглядеть как
3.8.0 вместо 3.8.Безопасность
Пожалуй, самое важное в этом релизе. Все пользовательские значения теперь экранируются при построении команд, это закрывает потенциальные векторы command injection в коннекторах, операциях и утилитах.
Docker стал полноценным
Добавили целый блок новых операций:
•
operations.docker.compose — управление через Docker Compose•
operations.docker.build — сборка образов•
operations.docker.login / logout — аутентификация в реестреПлюс новые факты: версия Docker, детали контейнеров, образов и сетей.
Новые факты и операции
•
facts.server.Ports — список всех портов в состоянии LISTEN на хосте.•
facts.server.Processes + server.kill — получить список процессов и завершить нужный.•
facts.server.AuthorizedKeys — чтение authorized_keys, операция user_authorized_keys стала идемпотентной.•
operations.files.unarchive — распаковка архивов как отдельная операция.•
operations.files.download — теперь поддерживает limit_rate для ограничения скорости загрузки.•
operations.git.repo — добавили параметр depth для shallow clone.Поддержка uv
Добавлены факты и операции для работы с
uv — Python-пакетным менеджером. Пример использования стал стандартным для проекта: все примеры в репозитории теперь запускаются через uv run pyinfra.APT и пакетные менеджеры
•
facts.apt.AptSources теперь понимает формат deb822 — современный способ записи источников в Debian/Ubuntu.•
apt.packages получил параметр purge для полного удаления пакетов вместе с конфигами.•
apt.key обновлён под современный подход без устаревшей команды apt-key.Прочее
•
config.INHERIT_ENV — новый параметр для передачи переменных окружения локального процесса во все операции.•
dzdo — добавлена поддержка как альтернативы sudo для повышения привилегий.• Поддержка
paramiko v4, совместимость с Python 3.14, ленивая загрузка модулей фактов и операций для ускорения старта.Обновиться:
pip install --upgrade pyinfra
➡️ Тэг на GitHub
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии
