Цели:

  1. Закрепить знания по работе с Git.
  2. Получить практический опыт написания сценариев в Ansible.

Задание:

  1. Создать проект на github.

  2. Создать первую ветку, ветка должна называться docker, для развертывание с помощью контейнеров.

    В эту ветку загружаем dockerfile и docker-compose.yml из третьей практики.

    Ветка проекта на github должна иметь следующую структуру:

    Untitled

    <aside> ❗ Файл .env не стоит заливать на github, так как в нем будут содержаться данные для подключения к базе данных и удаленному хосту.

    </aside>

    Файл .env должен содержать следующие поля:

    TOKEN = token - будет содержать токен бота
    RM_HOST = rm_host - будет содержать удаленный хост, который будем мониторить
    RM_PORT = rm_port - будет содержать порт удаленного хоста, к которому будем подключаться
    RM_USER = rm_user - будет содержать пользователя удаленного хоста
    RM_PASSWORD = rm_password - будет содержать пароль пользователя удаленного хоста
    DB_USER = db_user - будет содержать пользователя базы данных удаленного хоста
    DB_PASSWORD = db_password - будет содержать пароль пользователя базы данных удаленного хоста
    DB_HOST = db_host - будет содержать хост(имя контейнера), в котором будет работать база данных
    DB_PORT = db_port - будет содержать порт, на котором работает база данных
    DB_DATABASE = db_database - будет содержать имя базы данных
    DB_REPL_USER = db_repl_user - будет содержать пользователя реплицируемой базы данных
    DB_REPL_PASSWORD = db_repl_password - будет содержать пароль пользователя реплицируемой базы данных
    DB_REPL_HOST = db_repl_host - будет содержать хост(имя контейнера), в котором будет работать реплицируемая база данных
    DB_REPL_PORT = db_repl_port - будет содержать порт, на котором работает реплицируемая база данных
    

    <aside> ❗ Ваши данные из файла .env (с которыми вы настраивали и тестировали работоспособность) необходимо указать в отчете по 4-ой практической работе.

    </aside>

    <aside> ⚠️ Указывать данные из файла .env необходимо с текстовом формате!

    </aside>

  3. Создать вторую ветку для сценария Ansible, ветка должна называться ansible. Необходимо написать playbook. Результат работы плейбука должен быть следующий:

    1. Развертывание базы данных и настройка репликации.
    2. Скачивание кода с github для тг-бота.
    3. Настройка среды и установка всех необходимых пакетов для запуска тг-бота.

    <aside> ❗ Обязательно должен присутствовать playbook_tg_bot.yml и файл inventory. Так же должны присутствовать все файлы необходимые для корректного выполнения плейбука.

    </aside>

    Untitled

  4. Проверить работоспособность проекта после развертывания.

<aside> 💡 Проект представляет собой код на Python для tg-бота и базу данных.

</aside>

<aside> ❗ В письме необходимо дополнительно указать ссылку на свой github с проектом и ссылку на своего бота. Бот должен находиться в выключенном состоянии, чтобы проверяющий мог запустить его на своей системе.

</aside>