sre-hello-world
Тестовое задание для SRE инженера.
Что в данном репозитории
В данном репозитории находится простейшее PHP-приложение, которое обращается к PostgreSQL
и выводит содержимое таблицы author
.
Локальное развертывание
git clone https://github.com/muxx/sre-hello-world
cd sre-hello-world
docker-compose up -d
Вы получите запущенную связку nginx + php-fpm + PostgreSQL. Чтобы посмотреть его работу, пропишите в локальные хосты
127.0.0.1 sre.local
И откройте в браузере http://sre.local:86
. Вы должны увидеть что-то вроде этого:
Задание
Вам требуется написать roles и playbooks для Ansible для развертывания данного приложения в production.
Нюансы развертывания:
- Предполагаем, что разворачиваем на сервере с чистым Debian 12
- Nginx и PostgreSQL должны быть развернуты на хосте
- PHP-приложение должно разворачиваться в Docker. Можно поднимать с помощью docker-compose
- Nginx должен быть в роли прокси для приложения в контейнере
- Так как развертывание в production, то нужно задать необходимые настройки всех компонентов приложения для устойчивой и быстрой работы, исходя из конфигурации сервера (в первую очередь доступный объем RAM)
- Подготовить 2 плейбука:
- Полное развертывание приложения и его зависимостей
- Деплой PHP-приложения (подтягивание актуальной версии приложения и перезапуск контейнера)
Мы будем смотреть на то, как оформлены роли и плейбуки, как они декомпозированы, насколько хорошо все предусмотрено для поддержки этих плейбуков в дальнейшем.
Работу оформите в виде GitHub-репозитория и результат отправьте ссылкой на него.