Об этом проекте

Это личная учебная лаборатория для изучения полного цикла работы с Linux-сервером: «развертывание → проверка работоспособности → исследование аномалий → восстановление». Проект не претендует на статус промышленного опыта; его целью является фиксация того, что было выполнено автором, а что осталось нереализованным. Лицензия — MIT, автор — Noriyuki Shimada. Основная конфигурация состоит из Flask-приложения с аутентификацией (возвращает состояние системы через psutil внутри контейнера) и nginx в качестве входной точки, запускаемых через Docker Compose. Доступ осуществляется через 127.0.0.1:8080, где можно проверить ответы health и разницу между кодами 200 и 401 в зависимости от Basic-аутентификации. Система мониторинга включает Prometheus для сбора данных из приложения и node-exporter, Grafana для визуализации, агрегацию логов (Alloy / Loki) и уведомления через Alertmanager. Также указано, что общие показатели хоста следует отслеживать через node-exporter. Автоматизация развертывания реализована с помощью Ansible. Процесс разделен на foundation.yml (базовая инфраструктура с ролями common / docker) и site.yml (полный стек, включая мониторинг). Зафиксированы результаты проверки идемпотентности и применения базовой конфигурации к Ubuntu и AlmaLinux. Кроме того, рассматриваются темы эксплуатации: процедуры восстановления, управление изменениями, SLO и бюджет ошибок. Верификация автоматизирована с помощью рабочих процессов GitHub Actions (python-check и full-stack-e2e), при этом зафиксировано выполнение 167 тестов pytest. В реестре доказательств (docs/evidence) ведется учет даты, среды, коммита, результата и невыполненных областей. Например, в E2E-тесте полного стека от 22.08.2026 23 идентификатора (включая массовое развертывание, идемпотентность, восстановление) получили статус PASS. Записи от 04.09.2026 подтверждают развертывание базы на Ubuntu и AlmaLinux, а с 07 по 08 сентября зафиксирована ручная настройка Ubuntu на Hyper-V (статический IP, SSH-ключи, sudo, UFW, синхронизация времени, автообновления) и запуск минимальной конфигурации Docker. Результаты представлены детально: PASS 14 / PASS-ADAPTED 4 / PARTIAL 2 / NOT RUN 1. При этом такие задачи, как реальное применение и удаление в AWS, доставка уведомлений в Slack, длительная работа лаборатории мониторинга и восстановление после сбоя хоста (D-2), отмечены как NOT RUN, для них подготовлены отдельные планы измерений. В записях о ручной настройке указано, что это упражнения по ОС без использования Ansible или кода репозитория, они не являются приемкой конкретного проекта. Также отмечено, что ИИ помогал в составлении инструкций, чтении изображений и редактировании записей, а самостоятельное воспроизведение и длительная эксплуатация не входят в объем работ. Документация подробно проработана для учащихся: руководство для начинающих (5 шагов, начиная с 2 минимальных сервисов), путь обучения от Level 0 до 5, глоссарий из 408 базовых терминов сервера, список ключевых слов по развертыванию, шаблоны отчетов, пакеты проектов (требования → проектирование → развертывание → тестирование → доказательства → эксплуатация → изменения), обоснования проектных решений, примеры ошибок и операционный комплект. Раскрыты области использования ИИ; в учебных записях соблюдается принцип разделения того, что автор может выполнить и объяснить самостоятельно, того, что было сделано с помощью ИИ, и того, что осталось непроверенным.