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.