Example 1: Install Ansible plugins
Create a playbook
shell> cat ansible.yml
- hosts: test_01
become: true
roles:
- vbotka.ansible
Create host_vars/test_01/ansible-plugins.yml
shell> cat host_vars/test_01/ansible-plugins.yml
map_vbotka_ver: 1.7.0
map_vbotka_sha256: "sha256:c794517999ae83eea615cb65e337e8c7b9ce2636b34d75c625641f8b804bcc03"
ma_plugins:
- archive: ansible-plugins-{{ map_vbotka_ver }}.tar.gz
archive_url: https://github.com/vbotka/ansible-plugins/archive/{{ map_vbotka_ver }}.tar.gz
checksum: "{{ map_vbotka_sha256 }}"
dest: ansible-plugins-{{ map_vbotka_ver }}
link: ansible-plugins
plugins:
- path: ansible-plugins/filter_plugins/dict_filters
ini_key: filter_plugins
enable: true
- path: ansible-plugins/filter_plugins/hash_filters
ini_key: filter_plugins
enable: true
- path: ansible-plugins/filter_plugins/list_filters
ini_key: filter_plugins
enable: true
Install plugins
shell> ansible-playbook ansible.yml -t ma_plugins
...
TASK [vbotka.ansible : plugins: Debug ma_plugins_paths_list] *********
ok: [planb] => (item=filter_plugins) => {
"msg": {
"filter_plugins": {
"paths": [
"ansible-plugins/filter_plugins/dict_filters",
"ansible-plugins/filter_plugins/hash_filters",
"ansible-plugins/filter_plugins/list_filters",
]
}
}
}
Show the installed plugins at the remote host
test_01> tree /usr/local/ansible/plugins/ansible-plugins/filter_plugins/
/usr/local/ansible/plugins/ansible-plugins/filter_plugins/
├── dict_filters
│ └── dict_filters.py
├── hash_filters
│ └── hash_filters.py
└── list_filters
└── list_filters.py