You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In our dev environment we want to run the exact same script as in production. But with full qualified urls inside the requirements.yml, this is not possible, because the production network is secured and the servername differ quite a lot.
Like for the galaxy syntax putting a location neutral "src=yatesr.timezone version=x" in the requirements file is ok. But "src: https://git.example.com/files/master.tar.gz" is overspecific, and will not work in other networks. The location from where the dependency is coming should not be a concern of the ansible script developer.
Our current workaround is using gradle for dependencies. Like the requirements.yml the build.gradle contains only the name and version of what the scripts needs. But Gradle knows from where to actually get it. This depends on the environment.
Basically all dependecy management tools i know doing that kind of seperation, location vs dependecy "identity".
I suggest ansible does the same. Basically the ansible config should contain a list with mirrors to ask for when doing a dependency resolution.
From @RainerW on July 17, 2017 15:13
In our dev environment we want to run the exact same script as in production. But with full qualified urls inside the requirements.yml, this is not possible, because the production network is secured and the servername differ quite a lot.
#48 suggest to use fully qualified urls inside a requirements.yml ( http://docs.ansible.com/ansible/galaxy.html#installing-multiple-roles-from-a-file ) Becasue we run projects inside different network zones, having an absolute url to a role is not very practical.
Like for the galaxy syntax putting a location neutral "src=yatesr.timezone version=x" in the requirements file is ok. But "src: https://git.example.com/files/master.tar.gz" is overspecific, and will not work in other networks. The location from where the dependency is coming should not be a concern of the ansible script developer.
Our current workaround is using gradle for dependencies. Like the requirements.yml the build.gradle contains only the name and version of what the scripts needs. But Gradle knows from where to actually get it. This depends on the environment.
Basically all dependecy management tools i know doing that kind of seperation, location vs dependecy "identity".
I suggest ansible does the same. Basically the ansible config should contain a list with mirrors to ask for when doing a dependency resolution.
Copied from original issue: ansible/galaxy-issues#272
The text was updated successfully, but these errors were encountered: