Hi there,
I would like some clarification on this pattern I'm noticing in the documentation in regards to dependencies installed via Ansible Galaxy (http://docs.ansible.com/galaxy.html) and the Role Dependencies (http://docs.ansible.com/playbooks_roles.html#role-dependencies).
When would you choose requirements.yml over a meta/main.yml with its dependencies list filled out? There might be some unnecessary duplication.
The only thing I've been able to reason was that you would use meta/main.yml dependencies when the intent is to distribute the encompassing role.
If one has playbooks that require specific roles installed, one would put them in the requirements.yml.
So for distributable roles that also have playbooks, it is assumed that if one is operating on that role directly, then requirements.yml is necessary. If one is embedding that role, then meta/main.yml should define the dependencies that are required to embed that role.
Not sure if my understanding is correct.
Thanks for the help.
--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/7874cc03-0ee4-4b68-8cb6-acd3180091d8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
# params.pp
class nexus::params {
$java = 'java-1.8.0-openjdk'
}
# init.pp
class nexus ($java = $::foo::params::java) {
class { 'java': package => $java }
...
}
# metadata.json
"dependencies": [
{"name":"puppetlabs/java","version_requirement":">= ..."}
]
# meta/main.yml---
dependencies:
- { role: geerlingguy.java, java_packages: ['java-1.8.0-openjdk'] }
# playbooks.yml
---
- hosts: nexus.example.com
roles:
- geerlingguy.java
- ansible-nexus