jasonheecs.digitalocean
Rôle Ansible : Création de Droplets DigitalOcean
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
ansible-galaxy install jasonheecs.digitalocean