create-digitalocean-droplet
Создание дроплета в DigitalOcean
Роль для создания дроплета в DigitalOcean и добавления DNS-записи, чтобы к нему можно было получить доступ по указанному URL (переменная create_digitalocean_droplet_server_fqdn
). Роль добавит вновь созданный сервер в группу Ansible под названием "new_server", что является значением хоста, которое вы будете использовать для применения любых дополнительных конфигураций в последующих ролях того же плейбука.
Требования
Вам нужны следующие элементы, чтобы использовать эту роль:
- Аккаунт в DigitalOcean
- API-ключ для вашего аккаунта DO, хранящийся в переменной окружения "DO_API_TOKEN"
- DNS-серверы для корневого домена, который вы добавляете (server_fqdn), должны быть настроены на DNS-серверы DigitalOcean
- Ваши SSH-ключи загружены в ваш аккаунт DO, а отпечатки (MD5-хеш) загружены в список переменной (ssh_keys)
Переменные роли
Имя хоста вашего дроплета в DigitalOcean. Это будет установлено как имя хоста на Linux VPS и то, что будет отображаться в списке ваших дроплетов.
create_digitalocean_droplet_host_name: "my-hostname-here"
Имя домена, для которого вы хотите создать DNS-запись, чтобы он указывал на этот вновь созданный дроплет DigitalOcean.
create_digitalocean_droplet_server_fqdn: "mysubdomain.mydomain.com"
Переменная окружения под названием DO_API_TOKEN, которая содержит значение вашего API-ключа для DigitalOcean.
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
Список отпечатков любых SSH-ключей, которые соответствуют загруженным в ваш аккаунт DO ключам и которые вы хотите добавить к этому дроплету при его создании для обеспечения доступа. Вы можете найти эти отпечатки, зайдя в настройки вашего аккаунта DO, затем на вкладку Безопасность и либо добавив SSH-ключ и скопировав отпечаток, либо скопировав отпечаток уже загруженного SSH-ключа.
create_digitalocean_droplet_ssh_key_ids:
- "72:aa:ae:3a:62:4d:b4:3d:6a:c5:0f:17:f8:1f:ad:d2"
- "e4:1d:b2:d1:e1:42:c7:5c:b6:71:75:2b:f4:8d:bf:c7"
Размер дроплета, который вы хотите создать. По умолчанию размер составляет 1 ГБ.
create_digitalocean_droplet_droplet_size: "1gb"
Образ дроплета, который вы хотите использовать в качестве базового для вашего вновь созданного дроплета DigitalOcean. По умолчанию используется образ Ubuntu 16.04 LTS (ubuntu-16-04-x64).
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
Регион (центр обработки данных) DigitalOcean, где вы хотите создать свой дроплет. По умолчанию это "nyc1".
create_digitalocean_droplet_region: "nyc1"
Зависимости
Нет
Пример Плейбука
Включение примера того, как использовать вашу роль (например, с переданными переменными) всегда полезно для пользователей:
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars_files:
- vars/main.yml
roles:
- { role: stancel.create-digitalocean-droplet }
или
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars:
create_digitalocean_droplet_host_name: "my-hostname-here"
create_digitalocean_droplet_server_fqdn: "mysubdomain.mydomain.com"
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
create_digitalocean_droplet_ssh_key_ids:
- "72:aa:ae:3a:62:4d:b4:3d:6a:c5:0f:17:f8:1f:ad:d2"
create_digitalocean_droplet_droplet_size: "1gb"
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
region: "nyc1"
roles:
- { role: stancel.create-digitalocean-droplet }
Лицензия
BSD
Информация об авторе
Role for creating a DigitalOcean droplet that can then be provisioned accordingly.
ansible-galaxy install stancel/create-digitalocean-droplet