stancel.create-digitalocean-droplet
Créer un Droplet DigitalOcean
Un rôle pour créer un Droplet DigitalOcean et ajouter un enregistrement DNS afin qu'il puisse être accessible à une URL donnée (variable create_digitalocean_droplet_server_fqdn
). Ce rôle ajoutera le nouveau serveur créé à un groupe Ansible nommé "new_server", qui est la valeur d'hôte à utiliser pour appliquer toute configuration supplémentaire dans les rôles suivants du même playbook.
Exigences
Pour utiliser ce rôle, vous aurez besoin des éléments suivants :
* Un compte DigitalOcean
* Une clé API pour votre compte DO, stockée dans une variable d'environnement appelée "DO_API_TOKEN"
* Les serveurs de noms pour le domaine racine que vous ajoutez (server_fqdn) doivent pointer vers les serveurs de noms de DigitalOcean
* Vos clés SSH doivent être téléchargées dans votre compte DO, et les empreintes (valeur hachée MD5) doivent être stockées dans la liste de variables (ssh_keys)
Variables du Rôle
Le nom d'hôte de votre Droplet DigitalOcean. Cela sera le nom défini comme nom d'hôte sur le VPS Linux, ainsi que le nom affiché dans votre liste de droplets.
create_digitalocean_droplet_host_name: "mon-nom-hôte-ici"
L'entrée de domaine pour laquelle vous souhaitez créer un enregistrement DNS afin qu'il dirige vers ce nouveau Droplet DigitalOcean.
create_digitalocean_droplet_server_fqdn: "mon-sous-domaine.mondomaine.com"
Une variable d'environnement appelée DO_API_TOKEN qui contient la valeur de votre clé API DigitalOcean.
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
Une liste de toutes les empreintes de clés SSH qui correspondent aux clés SSH que vous avez téléchargées dans votre compte DO et que vous souhaitez ajouter à ce droplet lors de sa création pour permettre l'accès. Vous pouvez trouver ces empreintes en allant dans les paramètres de votre compte DO, puis dans l'onglet Sécurité, et soit en ajoutant une clé SSH et en copiant l'empreinte, soit en copiant l'empreinte d'une clé SSH déjà téléchargée.
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"
La taille du droplet que vous souhaitez créer. La taille par défaut est de 1 Go.
create_digitalocean_droplet_droplet_size: "1gb"
L'image du droplet que vous souhaitez utiliser comme image de base pour votre nouveau Droplet DigitalOcean. L'image par défaut est Ubuntu 16.04 LTS (ubuntu-16-04-x64)
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
La région DigitalOcean (centre de données) où vous souhaitez créer votre droplet. La valeur par défaut est "nyc1"
create_digitalocean_droplet_region: "nyc1"
Dépendances
Aucune
Exemple de Playbook
Inclure un exemple d'utilisation de votre rôle (par exemple, avec des variables passées en paramètres) est toujours utile pour les utilisateurs :
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars_files:
- vars/main.yml
roles:
- { role: stancel.create-digitalocean-droplet }
ou
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars:
create_digitalocean_droplet_host_name: "mon-nom-hôte-ici"
create_digitalocean_droplet_server_fqdn: "mon-sous-domaine.mondomaine.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 }
Licence
BSD
Informations sur l'auteur
Role for creating a DigitalOcean droplet that can then be provisioned accordingly.
ansible-galaxy install stancel.create-digitalocean-droplet