ysavchen Infra repository
- Установлен Packer
- Создан сервисный аккаунт для Packer в Yandex Cloud
- Создан образ диска с ruby и mongodb
- Запущено и проверено приложение reddit
- Параметризирован шаблон для Packer
- Установлен Terraform
- Сделана конфигурация для одной VM (provider, resource)
- Добавлены outputs.tf, чтобы выводить ip созданной VM
- Добавлены provisioners для деплоя приложения на VM
- Добавлены variables.tf и terraform.tfvars для параметризации скриптов конфигурации
- Отформатированы конфигурационные файлы с terraform fmt
- Изменены скрипты Packer, чтобы app и db были на разных VM
- Добавлены модули Terraform для app и db
- Добавлены директории для окружений stage и prod
- Параметризована конфигурация, чтобы можно было одновременно создать VM для stage и prod
- Настроено хранение state файла в удаленном бекенде для stage и prod
- Отформатированы конфигурационные файлы с terraform fmt
- Установлен Ansible
- Создан inventory (inventory.yml) с ip-адресами серверов
- Добавлен ansible.cfg для настройки Ansible (user, keys, path to inventory)
- Создан ansible-playbook (clone.yml) с описанием задачи в виде yaml
- Создан playbook c конфигурацией app, db и деплоя
- Playbook c одним сценарием (play) разбит на несколько сценариев (plays)
- Playbook reddit_app_multiple_plays разбит на несколько playbooks - app.yml, db.yml, deploy.yml
- Изменены скрипты Packer, чтобы для установки Ruby и MongoDB использовался Ansible
- Конфигурация app и db вынесена в роли
- Добавлена конфигурация для prod и stage environemnts
- Добавлена community-роль jdauphant.nginx для проксирования запросов
- Настроено шифрование user credentials с помощью Ansible Vault
- Установлен VirtualBox и Vagrant
- Добавлен Vagrantfile для управления VirtualBox
- Добавлены провижинеры для конфигурации VM
- Переработаны роли app и db
- Протестирована db роль