Skip to content

gekt0rr/echoline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

echoline

Этот скрипт выводит текущую дату и время каждые N секунд, а также переданное сообщение.

Перед тем как приступать к проверке этапов, необходимо склонировать репозиторий с помощью следующей команды:

git clone https://github.com/gekt0rr/echoline.git

1. Использование

Чтобы использовать скрипт echoline.sh, выполните следующую команду:

bash echoline.sh [опции]

2. Опции

  • -t <секунды>: Задает временной интервал в секундах (по умолчанию: 5).
  • -m <сообщение>: Задает выводимое сообщение (по умолчанию: 'HELLO WORLD').
  • -h: Показать подсказку с описанием опций.

3. Примеры

bash echoline.sh -t 2 -m "Vagrant or Terraform"

В этом примере скрипт будет выводить текущую дату и время каждые 2 секуды с сообщением "Vagrant or Terraform".

Dockerfile

Dockerfile для контейнера echoline, который запускает скрипт echoline.

Переменные окружения

  • TIMER_SECONDS: Интервал вывода даты и времени в секундах (по умолчанию: 1).
  • MESSAGE: Сообщение, которое будет выводиться с датой и временем (по умолчанию: "ON AIR").

Сборка и запуск контейнера

Для сборки и запуска контейнера с параметрами по умолчанию, выполните следующие команды:

docker build -t echoline .
docker run --name echoline-container echoline

Чтобы параметризовать значения по умолчанию для скрипта echoline, можно использовать переменные окружения при запуске контейнера. Например:

docker run --name echoline-container -e TIMER_SECONDS=10 -e MESSAGE="Привет, мир!" echoline

Чтобы проверить что контейнер запустился согласно наших параметров, выполним команду

sudo docker logs echoline-container

Note

Далее будет подразумеваться, что для проверки корректности работы контейнера будет использоваться данная команда.

Ansible-роль

Ansible-роль для развёртывания контейнера echoline.

Предварительные требования

  • Убедитесь, что имидж контейнера echoline доступен.
  • Убедитесь, что установлена коллекция community.docker для Ansible. Если что, установить можно командой:
ansible-galaxy collection install community.docker

Параметры

  • timer_seconds: Интервал вывода даты и времени в секундах (по умолчанию: 3).
  • message: Сообщение, которое будет выводиться с датой и временем (по умолчанию: "HELLO AAAAAKAFAZAM!").

Пример использования

Необходимо перейти в каталог ansible текущего репозитория и создать в нем тестовый плейбук. nano echoline2.yaml

- name: тестовый плейбук, чисто роль показать.
  hosts: all
  roles:
    - role: echoline
      vars:
        timer_seconds: "2"
        message: "Привет, мир2222222!"

Warning

Перед запуском плейбука настройте подключение к хостам из файла inventory и установите docker. Вообще ставить докер сейчас и проверять роль плейбуком не обязательно, т.к это все будет сделано в следующих пунктах. Так что сами решайте ...

Далее запускаем плейбук командой:

ansible-playbook echoline2.yaml

В этом примере роль echoline будет развёртывать контейнер echoline с интервалом вывода даты и времени в 2 секунды и сообщением "Привет, мир2222222!".

Ansible-плейбук

Ansible-плейбук для развёртывания роли echoline и установки Docker на хосте.

В этом примере плейбук устанавливает Docker, копирует Dockerfile для контейнера echoline, собирает контейнер и разворачивает роль echoline со стандартными интервалом вывода даты/времени и сообщением.

Warning

Перед запуском плейбука настройте подключение к хостам из файла inventory

Для запуска плейбука перейдите в каталог ansible текущего репозитория введите команду:

ansible-playbook echoline.yaml

Vagrant-файл

Vagrant-файл для создания виртуальной машины с использованием провайдера Virtualbox и ОС Ubuntu 22.04.

Предварительные требования

  • Установлен и настроен Virtualbox
  • Установлен и настроен Vagrant

Использование

Необходимо перейти в каталог vagrant текущего репозитория и выполнить команду:

vagrant up

После загрузки, установки и настройки виртуальной машины у нас будет возможность подключиться к ней и посмотреть лог контейнера, чтобы убедиться что все работает так как должно.

Сначала подключимся к VM по ssh используя vagrant:

vagrant ssh

затем посмотрим лог контейнера

sudo docker logs echoline

После проверки, рекомендуется удалить VN так же используя vagrant:

vagrant destroy

Полезные ссылки

docker

база по dockerfile Шпаргалка по Dockerfile Шпаргалка с командами Docker

ansible

для более полного понимания

vagrant

установка и базовое использование на debian12

Идеи и ход разработки

Для планирования задач и ведения разработки использовался https://app.plane.so. Если интересно внести вклад в проект - Добро пожаловать

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published