filviu.hetzner_installimage
Rôle Ansible : Hetzner Installimage
Configurer un serveur dédié Hetzner avec une distribution choisie et un chiffrement de disque complet optionnel.
Avertissements
Toutes les données sur le serveur seront effacées.
Exigences
- Connaître l'IP du serveur.
- Le serveur doit être redémarré en mode de secours. Ou commandé avec le mode de secours s'il est nouveau.
- Lors de la commande ou de l'activation du mode de secours, assurez-vous de sélectionner toutes les clés que vous souhaitez utiliser pour vous connecter à l'environnement de démarrage où le mot de passe de chiffrement peut être saisi.
Variables du rôle
Voir defaults/main.yml
:
hetzner_installimage_cryptpassword: "motdepasse"
hetzner_installimage_disks:
- "/dev/nvme0n1"
- "/dev/nvme1n1"
# créer une partition EFI
# les nouvelles machines comme l'EX-53 semblent l'exiger
hetzner_installimage_esp: true
hetzner_installimage_swraid: 1
hetzner_installimage_swraidlevel: 1
hetzner_installimage_hostname: "personnalisé"
hetzner_installimage_image: "/root/images/Debian-1010-buster-64-minimal.tar.gz"
# liste des clés ssh publiques autorisées à se connecter dans l'environnement BusyBox pour entrer le mot de passe de chiffrement et démarrer le serveur
# si non défini, les clés utilisées lors de l'activation de l'environnement de secours (ou lors de la commande de la machine si elle est nouvelle) sont utilisées
#
#hetzner_installimage_sshkeys:
# - "clé1"
Exemple de Playbook
# hetzner-installimage.yml
---
- hosts: all
roles:
- role: filviu.hetzner_installimage
hetzner_installimage_image: "/root/images/Debian-1010-buster-64-minimal.tar.gz"
Si vous êtes satisfait des valeurs par défaut ou que vous les avez ajoutées à votre playbook hetzner-installimage.yml
, vous pouvez exécuter quelque chose comme :
ansible-playbook -i "1.2.3.4," -u root -e "hetzner_installimage_cryptpassword=MON_MOT_DE_PASSE_SECURISE" hetzner-installimage.yml
pour éviter de stocker votre mot de passe de chiffrement (effacez l'historique bash) et d'ajouter la machine à votre inventaire. Vous pouvez également ajouter le mot de passe chiffré dans le playbook.
Si vous devez rarement configurer des machines avec des disques sata au lieu des nvme (par défaut), vous pouvez remplacer la liste des disques dans la ligne de commande au lieu de créer un playbook séparé :
ansible-playbook -i "1.2.3.4," -u root -e "hetzner_installimage_cryptpassword=MON_MOT_DE_PASSE_SECURISE" -e '{"hetzner_installimage_disks":["/dev/sda","/dev/sdb"]}' hetzner-installimage.yml
Remarques
- Vérifiez que vous savez comment débloquer votre serveur après le redémarrage (c'est-à-dire que vous n'aurez pas de vlans privés activés dans l'environnement minimal, vous devez autoriser le port 22 ssh vers l'interface publique du pare-feu Hetzner si vous l'utilisez, etc.)
- Vous n'avez pas besoin d'ajouter le serveur à votre inventaire ansible.
- Vous devez définir la variable de clés ssh ou la commenter. Si vous la définissez et qu'elle est vide, le rôle échouera ou vous ne pourrez pas vous connecter pour démarrer le serveur.
- Pas de soutien ! Assurez-vous de conserver le mot de passe, d'utiliser les bonnes clés SSH et que le serveur est démarré en mode de secours et ne contient aucune donnée nécessaire.
- Testé uniquement avec Debian 10 et 11. Devrait aussi fonctionner avec Ubuntu.
- Debian 10 ne prend pas en charge les clés ED25519 !
Licence
MIT / BSD
Informations sur l'auteur
Ce rôle a été créé par Silviu Vulcan pour répondre à ses propres besoins.
ansible-galaxy install filviu.hetzner_installimage