jasonheecs.digitalocean

Ansible Role: Creación de Droplets en DigitalOcean

Estado de la Construcción Rol de Galaxy

Un rol de ansible que crea un droplet en DigitalOcean y añade la dirección IP del droplet al archivo de inventario.

Requisitos

Ninguno.

Instalación

ansible-galaxy install jasonheecs.digitalocean

Variables del Rol

Las variables del rol están listadas en defaults/main.yml, y las variables sensibles (como tu token de API de DigitalOcean) deben estar en vars/private.yml.

Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (consulta defaults/main.yml y vars/private.yml.example):

# Identificador de la clave SSH en tu cuenta de DigitalOcean
do_ssh_key_name: Clave SSH de Ansible
# Clave pública SSH que se añadirá a tu cuenta
do_ssh_pub_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
# Clave privada utilizada para acceder por SSH a tu droplet
do_ssh_private_key: "~/.ssh/id_rsa"

# Nombre del droplet
droplet_name: test-droplet
# Este es el identificador de la región donde te gustaría crear tu servidor.
droplet_region_id: sgp1
# Este es el identificador del tamaño con el que te gustaría que se creara el droplet.
droplet_size_id: 512mb
# Este es el identificador de la imagen con la que te gustaría que se creara el droplet.
droplet_image_id: ubuntu-18-04-x64

# Ubicación de tu archivo de inventario de ansible
ansible_inventory_file: hosts.ini
# El nombre del grupo que se usa para agrupar tus droplets en tu archivo de inventario
droplets_inventory_group: do_droplets

# Tu token de acceso personal de DigitalOcean (https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-api-v2)
do_api_token: inserttokenhere
# Claves SSH adicionales para añadir al droplet durante el proceso de creación (https://developers.digitalocean.com/documentation/v2/#ssh-keys)
droplet_additional_ssh_key_ids: []

Dependencias

Ninguna.

Ejemplos de Playbooks

Un playbook que ejecuta este rol en una máquina remota:

- hosts: all
  become: no
  roles:
    - { role: jasonheecs.digitalocean }

Un playbook que ejecuta este rol en tu máquina local:

- hosts: localhost
  connection: local
  become: no
  roles:
    - { role: jasonheecs.digitalocean }

Consulta un ejemplo de playbook aquí.

Pruebas

Las pruebas automatizadas se realizan a través de Test Kitchen, Kitchen Ansible y Kitchen Docker.

Para ejecutar las pruebas, asegúrate de que Ruby y Docker estén instalados y ejecuta lo siguiente:

gem install bundler && bundle exec kitchen test

Consulta el archivo travis.yml y los registros de construcción de Travis para detalles sobre el proceso de construcción de la prueba y los resultados esperados.

Plataformas Soportadas

Este rol de ansible ha sido probado en las siguientes plataformas:

  • macOS Sierra
  • macOS High Sierra
  • Ubuntu 16.04
  • Ubuntu 14.04
  • CentOS 7
  • Debian 9

Licencia

MIT

Información del Autor

Jason Hee

Acerca del proyecto

Create DigitalOcean droplet via Ansible

Instalar
ansible-galaxy install jasonheecs.digitalocean
Licencia
mit
Descargas
1.4k
Propietario