# feature idea: modules forge plugin setup for non-core modules

**URL:** <https://forum.ansible.com/t/feature-idea-modules-forge-plugin-setup-for-non-core-modules/13777>\
**Category:** Ansible Developer\
**Created:** [October 26, 2013, 4:49pm UTC](https://forum.ansible.com/t/feature-idea-modules-forge-plugin-setup-for-non-core-modules/13777 "2013-10-26T16:49:58Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rene\_Moser](https://avatars.discourse-cdn.com/v4/letter/r/7bcc69/32.png) [@Rene\_Moser](https://forum.ansible.com/u/Rene_Moser)\
**Post date:** [October 26, 2013, 4:49pm UTC](https://forum.ansible.com/t/feature-idea-modules-forge-plugin-setup-for-non-core-modules/13777/1 "2013-10-26T16:49:58Z")

</div>

Hi again

I like ansible has a lot of modules in the core.

On the other hand, the core becomes bigger and messier…maybe “we” should think about a way for a “plug-in” functionality for modules. So the core can stay clean and small, but users can plug-in the modules they like and need:

I am thinking about a “ansible way” doing that like a command line app.

ansible-module search   
ansible-module install   
ansible-module remove   
ansible-module update

Even we can think about a core module for ansible-module handling: e.g.

- name: install all required ansible modules  
local\_action: module name={{item}} state=installed  
with\_items:
- foo
- bar

the location where the modules are downloaded and extracted from could look like per default:

[http://forge.ansibleworks.com/](http://forge.ansibleworks.com/)/-.tar.gz

or specify a own (maybe private) repo:

local\_action: module name={{item}} state=installed repo=[http://private](http://private)

so the modules would be downloaded and extracted from

[http://private/](http://private/)/-.tar.gz

Thanks for any feedback.

Regards  
René

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [October 26, 2013, 4:53pm UTC](https://forum.ansible.com/t/feature-idea-modules-forge-plugin-setup-for-non-core-modules/13777/2 "2013-10-26T16:53:01Z")

</div>

Nope, there’s no need for this.

You can already have your own directories of modules, and the modules in core are meant to be there.

The batteries included philosophy is GREAT for contribution, they don’t take up space, they are already well organized, and are only transferred to remote systems as needed.

If you’re talking _roles_, that’s different, and this is the purpose of the Galaxy project that we are releasing this November (knock on wood).

It should be possible to include a library path in the roles dir, but we strongly will encourage contribution of modules to core – I don’t like the concept of downloaded content containing arbitrary code and it makes too many different points for people to track and contribute to.

–Michael

---

<div class="post-metadata">

**Author:** ![Nick\_Groenen](https://avatars.discourse-cdn.com/v4/letter/n/c77e96/32.png) [@Nick\_Groenen](https://forum.ansible.com/u/Nick_Groenen)\
**Post date:** [October 28, 2013, 10:10am UTC](https://forum.ansible.com/t/feature-idea-modules-forge-plugin-setup-for-non-core-modules/13777/3 "2013-10-28T10:10:59Z")

</div>

I might be misunderstanding, but isn't this the opposite of what you  
said in [https://groups.google.com/d/msg/ansible-project/UVg0ZS7mT9o/LcjQCiYGpfAJ](https://groups.google.com/d/msg/ansible-project/UVg0ZS7mT9o/LcjQCiYGpfAJ)  
?

I can't say I'm a fan of the solution proposed by René, which seems  
too heavy for Ansible especially since there's already library/,  
filter\_plugins/, lookup\_plugins/, etc for people to drop things into.  
However, I do think it'd be nice to have a central source for  
modules/plugins that don't live up to the standards for being included  
in core, wouldn't serve a wide-enough audience, and/or are rejected  
for other reasons (incompatible licenses?).

---

<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:** [October 28, 2013, 12:47pm UTC](https://forum.ansible.com/t/feature-idea-modules-forge-plugin-setup-for-non-core-modules/13777/4 "2013-10-28T12:47:09Z")

</div>

When it makes sense, we want modules in core. I don’t want the default to be “we’re just going to put these on the tubes”, because that will result in modules that are less maintained.

However, if a module is not going to be widely used by enough people to help maintain it, we don’t want it in core.

Those will be able to go into Galaxy.

---

<div class="post-metadata">

**Author:** ![Nick\_Groenen](https://avatars.discourse-cdn.com/v4/letter/n/c77e96/32.png) [@Nick\_Groenen](https://forum.ansible.com/u/Nick_Groenen)\
**Post date:** [October 28, 2013, 1:00pm UTC](https://forum.ansible.com/t/feature-idea-modules-forge-plugin-setup-for-non-core-modules/13777/5 "2013-10-28T13:00:23Z")

</div>

I wasn't aware Galaxy would be able to be used for modules as well. Cool!

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [October 28, 2013, 1:12pm UTC](https://forum.ansible.com/t/feature-idea-modules-forge-plugin-setup-for-non-core-modules/13777/6 "2013-10-28T13:12:59Z")

</div>

At least in this first cut, a role can contain some modules that are available when it is included.

-- Michael
