Sobes.tech
Junior — Middle

Podes mostrar um exemplo de uso de templates Jinja2 no Ansible para geração dinâmica de ficheiros de configuração?

sobes.tech IA

Resposta da IA

No Ansible, os modelos Jinja2 são frequentemente usados para gerar dinamicamente arquivos de configuração com base em variáveis. Por exemplo, pode criar um modelo nginx.conf.j2:

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

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

No playbook, pode usar o módulo template para gerar o arquivo final:

- hosts: webservers
  vars:
    nginx_port: 80
    server_name: example.com
    backend_host: 127.0.0.1
    backend_port: 8080
  tasks:
    - name: Gerar configuração do nginx
      template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf

Este método permite alterar facilmente os parâmetros de configuração sem editar os próprios arquivos, usando variáveis do Ansible.