Питер Хоффманн: Эксплуатация д... Заметка
Planet Python на русском

Питер Хоффманн: Эксплуатация домашнего сервера с помощью агента только для чтения и pyinfra

Домашний сервер, изначально управляемый вручную, был преобразован с использованием кодирующего агента и декларативной конфигурации. Этот агент имеет доступ только для чтения, что предотвращает прямые изменения сервера. Все изменения теперь кодируются в развертываниях pyinfra в репозитории git. Агент исследует сервер, пишет код Python для желаемых изменений состояния и представляет эти изменения для проверки. Важно отметить, что пароль sudo действует как привратник, требуя вмешательства пользователя для любого фактического развертывания. Структура репозитория включает правила агента, инвентарь состояния сервера, развертывания pyinfra и файлы конфигурации. Задачи агента включают чтение документации, поиск конфигураций и написание юнитов systemd. Пользователь просматривает пробные запуски, а затем выполняет код для развертывания. Этот рабочий процесс обрабатывает обновления системы, миграцию сервисов и развертывание пользовательских приложений. Ошибки усваиваются и включаются в правила агента для будущих сессий. Хотя этот подход эффективен для личных данных, доступ только для чтения требует осторожности при работе с машинами, содержащими конфиденциальную информацию третьих лиц.
CdXz5zHNQW_zasqR31jDU.png