• Terraform : utilisation de yamldecode()

    Petit exemple d’utilisation d’un fichier YAML contenant des règles de flux importées en tant que NSG dans Azure : Fichier nsg-www.yml : nsg-www: rules: - name: Allow HTTP access: "Allow" direction: "Inbound" priority: …

  • Terraform : count, for_each

    Count : resource "aws_instance" "www" { ami = "ami-8ee056f3" instance_type = "t2.micro" key_name = "aws-ssh-key" count = 2 tags = { Name = "www${count.index}" } } For_Each : locals { volumes = toset([ "data", "backup", …

  • Terraform : les variables

    Input variables : Chaine : variable "instance-type" { type = string description = "The type of instance" default = "t2.micro" } resource "aws_instance" "srv1" { ami = "ami-8ee056f3" instance_type = var.instance-type } …

  • Terraform : Une première VM dans Azure

    En premier, on déclare le provider : provider "azurerm" { features {} } Nos variables : la région Azure et les credentials pour la VM qui va être déployée variable "location" { type = string default = "westeurope" } …

  • Terraform : les provisionners

    Terraform inclue la notion de provisionners afin de permettre l’exécution de commandes soit locales, soit exécutées à distance sur les VM déployées. Les provisionners doivent être utilisés en dernier recours car …

  • Memo Docker

    Dockerfile Image source : FROM ubuntu:18.04 Ecouter sur un port : EXPOSE 80 Ajouter des métadonnées : LABEL "relase-date=20201115" Lancer une commande : RUN apt-get update && \ apt-get dist-upgrade Commande par défaut du …

  • Purger les reports puppet... avec puppet

    J’ai récemment découvert la ressource Tidy qui permet d’effacer des fichiers en se basant sur certains critères, voici donc comment purger les reports yaml puppet avec puppet. tidy { 'purge_reports': path => …

  • PuppetDB : General SSLEngine problem

    Après avoir mis à jour mon puppetmaster en version 6 et re-créé la CA, c’est devenu le drame sur mes agents, plus moyen d’envoyer leurs facts sur PuppetDB : puppet agent -t Warning: Unable to fetch my node definition, …

  • Astuces Puppet

    Tests Dry run : puppet agent -t --noop Valider la sytaxe d’un manifest : puppet parser validate manifest.pp Valider un template : erb -x -T '-' | ruby -c ERB Insérer une valeur : <%= EXPRESSION %> Simple code ruby cmme …

  • Puppet, apt key and full fingerprint

    L’erreur de l’empreinte GPG trop courte est une erreur récurrente avec le module puppet apt::source. Voici comment la corriger alors que c’est très simple. Exemple avec le repo elastic search qui fournit la clé de 16 …

  • Ansible : Automatisation du déploiement d'un cluster multi master pour MariaDB (et MySQL…) avec Galera

    Cet article est la suite de mon précédent article sur le sujet dans le but de pousser le concept un peu plus loin. C’est mon premier role Ansible donc je suis à peu près certain qu’il est possible de mieux faire. Dans un …

  • Recette Puppet : création automatisée d'un utilisateur

    Des fois, il n’est pas toujours possible d’avoir un annuaire LDAP ou AD pour centraliser la base de comptes et il faut donc passer par des comptes locaux. Dans ce cas, puppet est une option intéressante. Niveau sécurité, …