• # infra as code (IaC) - Ansible

    Posté par . En réponse à la dépêche happyDomain - On devrait tous avoir un nom de domaine. Évalué à 5.

    Je suis pas fan des GUI et donc pas le bon public pour ce type de projet.
    Mais merci pour l'initiative et le partage.

    Je pense que quand on a un ou deux registrars, passer par leurs différentes consoles web n'ai pas bien compliqué. Et avoir beaucoup plus que deux registrars est probablement pas une bonne pratique. Donc le gain à avoir une WebGUI pour tout unifier, au risque de ne pas avoir certaines fonctionnalités, je suis pas convaincu.

    Je préfère l'infra as code et mettre la description de mon infra sous gestionnaire de version.

    Pour cela j'utilise Ansible et le plugin ansible-ovh-dns. J'imagine qu'il en existe pour d'autres registrars.

    C'est plutôt simple à utiliser : dans un playbook :

    - name: ensure DNS
     hosts: localhost
     tasks:
     - ovh_dns: state=present domain=mydomain.tld name=www type=A value=A.B.C.D
     - ovh_dns: state=present domain=mydomain.tld name=site type=CNAME value=www
     - ...

    Ensuite, dans un shell :

    ansible-playbook -M modules dns-playbook.yml

    et Ansible va s'assurer que la configuration chez OVH est conforme à la déclaration dans le playbook.

    localhost : ok=32 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 
    

    Ça s'appuie sur le wrapper python pour les API OVH.

    Le seul petit inconvénient est que la durée de traitement s'allonge avec le nombre d'entrées car chacune est revérifiée à chaque run ; compter environ 1seconde par entrée.

    À l'usage, c'est très serein en tout cas ; plus besoins d'ouvrir un navigateur.