jasonheecs.digitalocean

Rôle Ansible : Création de Droplets DigitalOcean

Statut du Build Rôle Galaxy

Un rôle Ansible qui crée un droplet DigitalOcean et ajoute l'adresse IP du droplet au fichier d'inventaire.

Exigences

Aucune.

Installation

ansible-galaxy install jasonheecs.digitalocean

Variables de rôle

Les variables de rôle sont répertoriées dans defaults/main.yml, et les variables sensibles (comme votre jeton API DigitalOcean) doivent être répertoriées dans vars/private.yml.

Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml et vars/private.yml.example):

# Identifiant de la clé SSH dans votre compte DigitalOcean
do_ssh_key_name: Clé SSH Ansible
# Clé SSH publique à ajouter à votre compte
do_ssh_pub_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
# Clé privée utilisée pour se connecter en SSH à votre droplet
do_ssh_private_key: "~/.ssh/id_rsa"

# Nom du droplet
droplet_name: test-droplet
# C'est le slug de la région où vous souhaitez que votre serveur soit créé.
droplet_region_id: sgp1
# C'est le slug de la taille avec laquelle vous souhaitez créer le droplet.
droplet_size_id: 512mb
# C'est le slug de l'image avec laquelle vous souhaitez créer le droplet.
droplet_image_id: ubuntu-18-04-x64

# Emplacement de votre fichier d'inventaire ansible
ansible_inventory_file: hosts.ini
# Le nom du groupe utilisé pour regrouper vos droplets dans votre fichier d'inventaire
droplets_inventory_group: do_droplets

# Votre jeton d'accès personnel DigitalOcean (https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-api-v2)
do_api_token: inserttokenhere
# Clés SSH supplémentaires à ajouter au droplet lors du processus de création (https://developers.digitalocean.com/documentation/v2/#ssh-keys)
droplet_additional_ssh_key_ids: []

Dépendances

Aucune.

Exemples de Playbooks

Un playbook qui exécute ce rôle sur une machine distante :

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

Un playbook qui exécute ce rôle sur votre machine locale :

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

Consultez un exemple de playbook ici.

Tests

Les tests automatisés sont réalisés via Test Kitchen, Kitchen Ansible et Kitchen Docker

Pour exécuter les tests, assurez-vous que Ruby et Docker sont installés et exécutez la commande suivante :

gem install bundler && bundle exec kitchen test

Consultez le fichier travis.yml et les logs de build Travis pour des détails sur le processus de build des tests et les sorties attendues.

Plateformes prises en charge

Ce rôle Ansible a été testé sur les plateformes suivantes :

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

Licence

MIT

Informations sur l'auteur

Jason Hee

À propos du projet

Create DigitalOcean droplet via Ansible

Installer
ansible-galaxy install jasonheecs.digitalocean
Licence
mit
Téléchargements
1.4k
Propriétaire