digitalocean

Ansible Роль: Создание Друплета в DigitalOcean

Статус сборки Роль Galaxy

Это 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

Информация об авторе

Джейсон Хи

О проекте

Create DigitalOcean droplet via Ansible

Установить
ansible-galaxy install jasonheecs/ansible-digitalocean
Лицензия
mit
Загрузки
1358
Владелец