Веб-версияОткрыть в Telegram

ПостНемного девопсовский пост, так как на предыдущем месте работы я много админил линукса.

29 августа 2023
К
Коробка с питоном
Немного девопсовский пост, так как на предыдущем месте работы я много админил линукса. Автоматизация - один из столпов работы любого админа, так как подготавливать сервера руками - занятие тяжелое и трудозатратное. Для этого я всегда выбирал Ansible - это довольно простой инструмент, который позволяет настраивать сервера из специальных yaml конфигов, которые называются плейбуками. Но какой бы вы инструмент не выбрали, рано или поздно конфигурация будет усложняться, а плейбуков/скриптов станет много. В какой-то момент всё это может сломаться, поэтому любую автоматизацию надо тестировать. Когда я админил, команда не хотела полностью завязываться на Ansible (соответственно Molecule отпадает), решено было искать инструмент, который позволял бы тестировать состояние сервера после работы любой автоматизации. И я нашел такой инструмент, имя ему - testinfra. Это плагин для pytest, который позволяет лаконично описывать тесты проверяющие состояние сервера. Например, мы написали автоматизацию, которая устанавливает nginx. Проверим, что он установлен: def test_nginx_is_installed(host): nginx = host.package("nginx") assert nginx.is_installed А теперь проверим, что сервис с ним запущен: def test_nginx_running_and_enabled(host): nginx = host.service("nginx") assert nginx.is_running assert nginx.is_enabled Самое важное - для него существует много connection backend'ов, которые позволяют подключаться к серверам для теста как по SSH (через paramiko), так и используя инвентарь Ansible. Так же есть бекенды для docker/podman/salt/kubectl/openshift/winrm/lxc - обо всём этом можно почитать здесь. Напоследок, вот вам еще кейс использования: одно время при помощи testinfra я тестировал правильность сборки контейнеров - все ли есть права, запустился ли сервис, в порядке ли конфиги и так далее. #devops #библиотека
15 · 690 ·

Рядом в ленте

ККоробка с питономПоявился PEP 723, который предлагает "встраивать" pyproject.toml в однофайловые скрипты. Предлагается добавить переменную __pyproject__, которая будет содержатьККоробка с питономЗанимаюсь в рамках петпроекта обработкой текста, появилась потребность проверять на каком языке написан текст. Сначала я попытался использовать langdetect, но о
это сообщение
ККоробка с питономТианголо (создатель FastAPI) предложил новый PEP 727, который позволяет стандартизировать механизм документирования параметров. Причина проста - существует многККоробка с питономНедавно мой знакомый @nesclass (можете ему писать по теме доклада) выступал c докладом "Асинхронное варение MongoDB в Python" на Pytup. Автор объяснил наглядно
ККоробка с питономКоробка с питоном@boxwithpython · канал · Технологии
488подписчиков154постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем