# How can I \_elegantly\_ build a long ad-hoc path to each role? (and a little about The Plethorole Project)

**URL:** <https://forum.ansible.com/t/how-can-i-elegantly-build-a-long-ad-hoc-path-to-each-role-and-a-little-about-the-plethorole-project/13981>\
**Category:** Ansible Project\
**Created:** [November 22, 2013, 10:18pm UTC](https://forum.ansible.com/t/how-can-i-elegantly-build-a-long-ad-hoc-path-to-each-role-and-a-little-about-the-plethorole-project/13981 "2013-11-22T22:18:35Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![josh2](https://avatars.discourse-cdn.com/v4/letter/j/4491bb/32.png) [@josh2](https://forum.ansible.com/u/josh2)\
**Post date:** [November 22, 2013, 10:18pm UTC](https://forum.ansible.com/t/how-can-i-elegantly-build-a-long-ad-hoc-path-to-each-role-and-a-little-about-the-plethorole-project/13981/1 "2013-11-22T22:18:35Z")

</div>

Hi,

I’m hoping to give my role-lines default path values, on a per role basis. I’m trying to create a **imperative** -based repository for roles, and I think the ability to build a long path to every role in a simple way is absolutely key.

That bit about imperative means: I hope to decompose states back into package-manager like quasi-commands, before optionally reassembling imperative-named roles into a declarative again, perhaps on a node-wide role level. This probably sounds like gibberish. What I want is a package manager-like experience when applying Ansible roles from a community-vetted repository that is multi-distro from the ground up, because declarative is great, but so is imperative, when you know you want finer telemetry. The “Origin” option deomstrated below gives room for something like: this software comes from sourcecode on github, not EPEL. Configuration by exception.

I would have approached this from a tags perspective, but I think we established that all tags in a play will run by default, if calling from a playbook, without a programmatic exception.

**Anyway, here’s the project I created on GitHub to resolve the lack of an Ansible Roles Repository; it’s called [Plethorole](https://github.com/KnoesOS/plethorole).**

You may want to look over the readme to get a better idea where I’m going with all this.

side note: All methods (imperatives and otherwise) are to be kept idempotent by policy unless absolutely necessary.

**Now, I’d like to get away from:**

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan2](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@Michael\_DeHaan2](https://forum.ansible.com/u/Michael_DeHaan2)\
**Post date:** [November 23, 2013, 3:50pm UTC](https://forum.ansible.com/t/how-can-i-elegantly-build-a-long-ad-hoc-path-to-each-role-and-a-little-about-the-plethorole-project/13981/2 "2013-11-23T15:50:47Z")

</div>

We’ve mentioned we’re rolling out a roles repository called Galaxy in a few weeks. It will have a CLI.

Patience, grasshoppper!

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan2](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@Michael\_DeHaan2](https://forum.ansible.com/u/Michael_DeHaan2)\
**Post date:** [November 23, 2013, 3:53pm UTC](https://forum.ansible.com/t/how-can-i-elegantly-build-a-long-ad-hoc-path-to-each-role-and-a-little-about-the-plethorole-project/13981/3 "2013-11-23T15:53:53Z")

</div>

"I hope to decompose states back into package-manager like quasi-commands, before optionally reassembling imperative-named roles into a declarative again, perhaps on a node-wide role level. "

Not to cause offense BTW, but I find this kind of language to be the antithesis of everything I’m building with Ansible.

It’s exclusionary, and I don’t understand a word of what you’re talking about. It’s going to be very hard for anyone to be able to reply to your thought process.

See also: [http://www.youtube.com/watch?v=RXJKdh1KZ0w](http://www.youtube.com/watch?v=RXJKdh1KZ0w)

---

<div class="post-metadata">

**Author:** ![josh2](https://avatars.discourse-cdn.com/v4/letter/j/4491bb/32.png) [@josh2](https://forum.ansible.com/u/josh2)\
**Post date:** [November 23, 2013, 3:56pm UTC](https://forum.ansible.com/t/how-can-i-elegantly-build-a-long-ad-hoc-path-to-each-role-and-a-little-about-the-plethorole-project/13981/4 "2013-11-23T15:56:11Z")

</div>

I’ll try to do better, all around, next time. Thank you.

-Joshua
