Positional fields could be a problem, we already have a proposal for like 5
of them, and in different cases it's now seaming like they are in different
orders.  I think we need to reset here.  If we're proliferating on fields,
here is what I propose.

* (A) continue to support the existing syntax for the galaxy-username,
version

* (B) use a list of YAML hashes for the approved syntax, and update the
documentation

* (C) go down the YAML path if the first non-space character is a "-"

Perhaps it looks roughly like this:

----

- repo: git+ssh://
  role_name: blippy
  version: ...

- galaxy: username.rolename
  recursive: false

- galaxy: username.rolename2
  version: 1.2.3

- galaxy: username.rolename_is_terrible
  role_name: save_as_this

??











On Fri, Aug 15, 2014 at 8:07 AM, Will Thames <[email protected]> wrote:

> Ok, friendly role names now allowed as third field.
>
> Added bonus of installing roles from URLs without SCM (think nexus,
> artefactory or just e.g. direct bitbucket/github/stash download URLs)
>
> Integration tests and unit tests to demonstrate that these improvements
> seem to work as expected.
>
> Will
>
>
> On Friday, August 15, 2014 10:22:44 AM UTC+10, Will Thames wrote:
>>
>> Perhaps we could make role name an optional third field - so if you do
>> want role_name but not role_version, just leave role_version blank i.e. git+
>> http://git.server/bad-role-name,,nice-role-name
>>
>> The reason for making it the third field is that I don't want to break
>> existing roles files and I don't want the parsing for SCM roles to be
>> fundamentally different to the galaxy roles.
>>
>> I don't particularly wish this to block the take-up of this pull request,
>> but I'm happy enough to implement it if the above seems a reasonable
>> approach.
>>
>> Will
>>
>> On Friday, August 15, 2014 3:03:36 AM UTC+10, Ivaylo Bratoev wrote:
>>>
>>> I can think a few cases where being able to control local role folder
>>> names would make things cleaner. For example: referencing repos with the
>>> same name in the end, too long or obscure repo names, etc.
>>> None of this is a blocker that would stop us from using this feature. I
>>> am looking forward to having this in the main branch and in a official
>>> release.
>>>
>>> On Thursday, August 14, 2014 3:10:29 PM UTC+3, Michael DeHaan wrote:
>>>>
>>>> " would just add one more requirement - being able to overwrite the
>>>> role-name and rely on the git repo name exclusively. Idea for syntax if you
>>>> want to keep the *role_name/url, role_version* format:"
>>>>
>>>> While interesting, we don't want to do this because we already have
>>>> ",version" used for describing roles in a way that  is not specific.
>>>>  Further, I don't think those URLs technically support comments in the case
>>>> of ssh://, so that seems like something we'd want to avoid.
>>>>
>>>> We can go with git+https://url,version
>>>>
>>>> I'm happy with that.
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Aug 14, 2014 at 12:17 AM, Ivaylo Bratoev <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi guys,
>>>>>
>>>>> I am currently investigating different options for managing roles and
>>>>> looking forward to having this in Ansible itself. My requirements are
>>>>> similar - having roles shared (and versioned) in private git repos,
>>>>> referenced from playbooks in other repos.
>>>>> The solution you are discussing here sounds like in the right
>>>>> direction. I would just add one more requirement - being able to overwrite
>>>>> the role-name and rely on the git repo name exclusively. Idea for syntax 
>>>>> if
>>>>> you want to keep the *role_name/url, role_version* format:
>>>>> git+https://git.acme.com/ansible/role-logstash.git#alias=logstash
>>>>>
>>>>> This would reference the role from the private repo but use the name
>>>>> 'logstash' instead of 'role-logstash'.
>>>>>
>>>>> If you are OK to change the format to *role_name, scm, url *the
>>>>> syntax suggested by Sam would work well for us:
>>>>> logstash,git,https://git.acme.com/ansible/role-logstash.git
>>>>>
>>>>> Ivo
>>>>>
>>>>>
>>>>> On Thursday, August 14, 2014 3:37:03 AM UTC+3, Will Thames wrote:
>>>>>>
>>>>>> I'm happy enough with this approach but how do we apply that to role
>>>>>> dependencies.
>>>>>>
>>>>>> In my git test role I provide a git dependency:
>>>>>> https://bitbucket.org/willthames/git-ansible-galaxy/src/1e58
>>>>>> ef87f234926caaf5e6b1f2c5378d90f476b1/meta/main.yml?at=master
>>>>>>
>>>>>> This works with the ansible-galaxy in the pull request but would not
>>>>>> as it stands without some form of scm detection.
>>>>>>
>>>>>> On reflection, I think I'd be happiest with the scm+url suggestion -
>>>>>> this would eliminate the need for scm detection and keep the 
>>>>>> role_name/url,
>>>>>> role_version format of the rolesfile
>>>>>> role_name would continue to be derived from the repo name.
>>>>>>
>>>>>> From Sam's example, this would then look more like this (not 100%
>>>>>> happy with git+git but it's nicer than handling the special case).
>>>>>>
>>>>>> # Custom roles using various protocols
>>>>>> git+ssh://[email protected]:ansible/role-disa-stig-rhel6.git,1.0
>>>>>> git+https://git.acme.com/ansible/role-kibana.git
>>>>>> git+git://[email protected]:ansible/role-logstash.git
>>>>>>
>>>>>> This would end up with roles called e.g. role-logstash, which might
>>>>>> not be what you want, but I would prefer to keep the rolesfile simple.
>>>>>>
>>>>>> Will
>>>>>>
>>>>>> On Thursday, August 14, 2014 12:59:43 AM UTC+10, Michael DeHaan wrote:
>>>>>>>
>>>>>>> +1
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Aug 13, 2014 at 10:57 AM, Sam Doran <[email protected]> wrote:
>>>>>>>
>>>>>>>> I like your syntax suggestion. That seems to fit more with the
>>>>>>>> ansible project. I agree that specifying the protocol would be a good 
>>>>>>>> idea.
>>>>>>>>
>>>>>>>> Here's what it might look like:
>>>>>>>>
>>>>>>>> # Galaxy roles
>>>>>>>> adham.helal.authentication
>>>>>>>> agios.nginx-unicorn,1.3
>>>>>>>>
>>>>>>>> # Custom roles using various protocols
>>>>>>>> disa-stig-rhel6,git,ssh://[email protected]:ansible/role-disa
>>>>>>>> -stig-rhel6.git,1.0
>>>>>>>> kibana,git,https://git.acme.com:ansible/role-kibana.git
>>>>>>>> logstash,git,git://[email protected]:ansible/role-logstash.git
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>>> 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 [email protected].
>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/d/msgid/ansible-project/2946b30e-
>>>>>>>> e772-44af-9592-f0fec3f8da30%40googlegroups.com
>>>>>>>> <https://groups.google.com/d/msgid/ansible-project/2946b30e-e772-44af-9592-f0fec3f8da30%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>> 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 [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>>> msgid/ansible-project/af2e9ef3-19e1-4379-a6b8-
>>>>> 439936841e7d%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/ansible-project/af2e9ef3-19e1-4379-a6b8-439936841e7d%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  --
> 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 [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/0520bf55-0dc0-4a3b-9c27-5d15da78a289%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/0520bf55-0dc0-4a3b-9c27-5d15da78a289%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgxP4WCqUf4MbhytOO-A%3DfiTnn8Dtz%2BHUhxJ3RD%2BTNQB5Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to