Sobes.tech
Junior — Middle

¿Puedes mostrar un ejemplo de uso de plantillas Jinja2 en Ansible para la generación dinámica de archivos de configuración?

sobes.tech AI

Respuesta de la IA

En Ansible, las plantillas Jinja2 se utilizan a menudo para generar dinámicamente archivos de configuración basados en variables. Por ejemplo, puedes crear una plantilla nginx.conf.j2:

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

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

En el playbook, puedes usar el módulo template para generar el archivo final:

- hosts: webservers
  vars:
    nginx_port: 80
    server_name: example.com
    backend_host: 127.0.0.1
    backend_port: 8080
  tasks:
    - name: Generar configuración de nginx
      template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf

Este enfoque permite cambiar fácilmente los parámetros de configuración sin editar los archivos mismos, usando variables de Ansible.