
Estou procurando maneiras de reduzir a quantidade de configuração padrão que preciso colocar em algumas de minhas tarefas ansible.
Por exemplo, tenho muitas tarefas usando o docker_container
módulo, e cada uma tem o mesmo conjunto de aproximadamente 10 opções idênticas. Eu gostaria que essas opções padrão fossem definidas em algum lugar centralizado, e cada tarefa simplesmente definisse apenas as opções exclusivas de que precisa.
(O problema ao pesquisar isso é que 99,9% dos resultados de pesquisa sobre esse assunto são sobre o próprio módulo de cópia/modelo).
Acho que poderia escrever um módulo personalizado em python que estendesse o módulo docker_container, mas isso parece um exagero.
Alguma idéia sobre como reduzir a configuração padrão?
Responder1
Você pode usarmodule defaults
- hosts: localhost
module_defaults:
ansible.builtin.file:
owner: root
group: root
mode: 0755
tasks:
- name: Create file1
ansible.builtin.file:
state: touch
path: /tmp/file1
- name: Create file2
ansible.builtin.file:
state: touch
path: /tmp/file2
- name: Create file3
ansible.builtin.file:
state: touch
path: /tmp/file3