/sre-hello-world

Тестовое задание для SRE инженера

Primary LanguagePHPMIT LicenseMIT

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. Вы должны увидеть что-то вроде этого: App View

Задание

Вам требуется написать roles и playbooks для Ansible для развертывания данного приложения в production.

Нюансы развертывания:

  • Предполагаем, что разворачиваем на сервере с чистым Debian 12
  • Nginx и PostgreSQL должны быть развернуты на хосте
  • PHP-приложение должно разворачиваться в Docker. Можно поднимать с помощью docker-compose
  • Nginx должен быть в роли прокси для приложения в контейнере
  • Так как развертывание в production, то нужно задать необходимые настройки всех компонентов приложения для устойчивой и быстрой работы, исходя из конфигурации сервера (в первую очередь доступный объем RAM)
  • Подготовить 2 плейбука:
    • Полное развертывание приложения и его зависимостей
    • Деплой PHP-приложения (подтягивание актуальной версии приложения и перезапуск контейнера)

Мы будем смотреть на то, как оформлены роли и плейбуки, как они декомпозированы, насколько хорошо все предусмотрено для поддержки этих плейбуков в дальнейшем.

Работу оформите в виде GitHub-репозитория и результат отправьте ссылкой на него.