La lecture de ce billet du blog d'eleven labs m'a donné l'idée de le décliner sur le développement à base de code d'infrastructure (Ansible, Terraform, Puppet, Pulumi, Crossplane ...). Pourquoi ? Parce que je vois trop souvent mis de côté au nom de l'agilité, de la rapidité et de la simplicité de mise en œuvre tout un ensemble de bonnes pratiques. Dans un premier temps, je vais définir ce qu'est une dette technique, puis énumérer les différents types de dettes, et pour en finir certaines causes.
18 articles tagués avec « terraform »
Voir tous les tagsTrivy ne cesse de s'améliorer
Lors de ma veille technique, je scrute souvent les change-logs de mes outils préférés sur GitHub. Et lors de l'une d'elle, j'ai remarqué que Trivy avait ajouté pas mal de fonctionnalités dont le scan des comptes AWS mais aussi des images de VM.
Tester vos déploiements AWS avec localstack
Localstack une pépite ? Certainement. LocalStack est un container simulant une grande partie des services AWS. Il permet de développer et de tester ses déploiements, lambda, code terraform....
Utilisation des meta-arguments Terraform
Terraform est un langage déclaratif, alors comment rendre ce code un plus intelligent ? Comment imposer certains fonctionnements lors de la création, modification et destruction de ressources ? Comment éviter de dupliquer du code ? Nous allons voir tout cela avec l'utilisation des meta-arguments.
L'extension Visual Studio Code Terraform
Comme pour Ansible, Terraform utilise un langage de type descriptif pour
décrire le résultat attendu. HashiCorp plutôt que d'utiliser du YAML
à
préférer créer son propre langage de description, le HCL
, venant bousculer
nos habitudes. C'est vrai du YAML
on en voit partout.
Enregistrer les IP dans PowerDNS avec Terraform
Maintenant que toutes les opérations s'enchaînent lors de la création d'une machine libvirt, je peux enfin tester le provider terraform powerdns. Pour rappel [powerDNS] fait partie des applications que je déploie dans mon home lab devops.
Libvirt resizing des images
Maintenant que nous savons comment lancer le provisioning avec ansible
automatiquement, il manque
juste le resizing de l'image de type cloud en automatique. En effet, les
images fournies sont souvent trop petites. Le plugin libvirt
de Terraform
intègre cette fonctionnalité, qui évite de le faire manuellement.
Terraform et le provider Libvirt
Dans le premier billet consacré au couple Terraform / Libvirt, nous avions vu comment créer des ressources, mais pas comment enchaîner automatiquement le provisioning. Par provisioning j'entends l'utilisation des fonctions remote-exec et local-exec qui permettent par exemple de lancer des playbooks ansible ou des scripts.
Installation de Rundeck
Pour ceux qui ne connaissent pas Rundeck, Rundeck est un logiciel libre permettant l'automatisation de l'administration de serveurs appelés nodes. Cette automatisation se fait sur des projets via des taches qui sont composées de jobs.
Installation de PowerDNS et PowerDNS-Admin
Je continue le déploiement des applications sur mon Home Lab Devops, et cette fois, il s'agit du serveur DNS powerDNS. Jusqu'à présent il tournait sur un de mes raspberry pi, mais j'ai fait le choix de le déplacer sur une des machines du Home Lab. Encore un bon exercice, car cela m'a permis d'améliorer l'installation de libvirt, en automatisant la création du pool d'images et du bridge.