Sobes.tech
Junior — Middle

Pouvez-vous montrer un exemple d'utilisation des modèles Jinja2 dans Ansible pour la génération dynamique de fichiers de configuration?

sobes.tech IA

Réponse de l'IA

Dans Ansible, les modèles Jinja2 sont souvent utilisés pour générer dynamiquement des fichiers de configuration à partir de variables. Par exemple, vous pouvez créer un modèle nginx.conf.j2:

server {
    listen {{ nginx_port }};
    server_name {{ server_name }};

    location / {
        proxy_pass http://{{ backend_host }}:{{ backend_port }};
    }
}

Dans le playbook, vous pouvez utiliser le module template pour générer le fichier final:

- hosts: webservers
  vars:
    nginx_port: 80
    server_name: example.com
    backend_host: 127.0.0.1
    backend_port: 8080
  tasks:
    - name: Générer la configuration nginx
      template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf

Cette approche permet de modifier facilement les paramètres de configuration sans modifier directement les fichiers, en utilisant des variables Ansible.