digitalocean
Ansible Роль: Создание Друплета в DigitalOcean
Это ansible роль, которая создает друплет в DigitalOcean и добавляет IP-адрес друплета в файл инвентаря.
Требования
Нет.
Установка
ansible-galaxy install jasonheecs.digitalocean
Переменные роли
Переменные роли перечислены в defaults/main.yml
, а чувствительные переменные (например, ваш API токен DigitalOcean) должны быть указаны в vars/private.yml
.
Доступные переменные перечислены ниже, вместе с значениями по умолчанию (см. defaults/main.yml
и vars/private.yml.example
):
# Идентификатор SSH ключа в вашей учетной записи DigitalOcean
do_ssh_key_name: Ansible SSH Key
# Общедоступный SSH ключ, который будет добавлен в вашу учетную запись
do_ssh_pub_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
# Приватный ключ, используемый для SSH доступа к вашему друплету
do_ssh_private_key: "~/.ssh/id_rsa"
# Имя друплета
droplet_name: test-droplet
# Это ярлык региона, в котором вы хотите создать сервер.
droplet_region_id: sgp1
# Это ярлык размера, с которым вы хотите создать друплет.
droplet_size_id: 512mb
# Это ярлык изображения, с которым вы хотите создать друплет.
droplet_image_id: ubuntu-18-04-x64
# Местоположение вашего файла инвентаря Ansible
ansible_inventory_file: hosts.ini
# Имя группы, используемое для группировки ваших друплетов в файле инвентаря
droplets_inventory_group: do_droplets
# Ваш персональный токен доступа DigitalOcean (https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-api-v2)
do_api_token: inserttokenhere
# Дополнительные SSH ключи, которые нужно добавить к друплету во время процесса создания (https://developers.digitalocean.com/documentation/v2/#ssh-keys)
droplet_additional_ssh_key_ids: []
Зависимости
Нет.
Примеры плейбуков
Плейбук, который запускает эту роль на удаленной машине:
- hosts: all
become: no
roles:
- { role: jasonheecs.digitalocean }
Плейбук, который запускает эту роль на вашей локальной машине:
- hosts: localhost
connection: local
become: no
roles:
- { role: jasonheecs.digitalocean }
Смотрите образец плейбука здесь.
Тестирование
Автоматическое тестирование выполняется с помощью Test Kitchen, Kitchen Ansible и Kitchen Docker
Чтобы запустить тесты, убедитесь, что Ruby и Docker установлены, и выполните следующее:
gem install bundler && bundle exec kitchen test
Смотрите файл travis.yml и логи сборки Travis для деталей о процессе сборки тестов и ожидаемых результатах.
Поддерживаемые платформы
Эта ansible роль была протестирована на следующих платформах:
- macOS Sierra
- macOS High Sierra
- Ubuntu 16.04
- Ubuntu 14.04
- CentOS 7
- Debian 9
Лицензия
MIT
Информация об авторе
ansible-galaxy install jasonheecs/ansible-digitalocean