Puppet Faces Install Location

30 views
Skip to first unread message

Trevor Vaughan

unread,
Mar 6, 2015, 7:23:55 AM3/6/15
to puppe...@googlegroups.com
Hi All,

I was building a custom Face and realized that there really should be another way to handle these in the local filesystem.

The current method for adding Faces, as evidenced by 'strings', seems to be to drop them in as a module.

I dislike this for two reasons. First, they're cluttering up my module space (and function namespace) with something that is not a module. Second, I don't want to have to add things to 'modules' if my node is simply a client where I want additional functionality (puppetdb hooks, whatever).

So, I would like to propose the following:

* The module tool and Forge are enhanced to support a 'face' tag
* The 'face' tag will indicate that the module is installing a Face
* Faces cannot co-exist with other module components (no actual puppet management code should be in a Face module)
* Faces will live at $facedir, by default $confdir/faces
* Face functionality will not pollute the global namespace (if possible)

Thanks,

Trevor

--
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699
tvau...@onyxpoint.com

-- This account not approved for unencrypted proprietary information --

Erik Dalén

unread,
Mar 6, 2015, 9:19:53 AM3/6/15
to puppe...@googlegroups.com
Well, faces can be installed as gems as well if they are packaged that way. Some modules include both functions and faces though, my puppetdbquery module would be an example of that. It could of course be split into different parts for the functions and the face, but I'm not entirely convinced of the benefit.

Also if they are installed as modules they can be pluginsynced to agents which can be pretty handy.

--
You received this message because you are subscribed to the Google Groups "Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-dev+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoXyTmRocvMBFR3qNnzyZyuhLdjsVTFAA-9vgtiOoJ5NMg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Trevor Vaughan

unread,
Mar 6, 2015, 9:25:23 AM3/6/15
to puppe...@googlegroups.com
Hi Erik,

I was thinking of just having the 'module' subcommand shove things into $confdir/faces/<facename> if the module is tagged as a face.

Installing them as a gem is irritating, but doable. It doesn't really keep things tidy within the ecosystem though.

I actually don't like pluginsync'ing them since I really don't think that items that are not related to the application of the system configuration should be sync'd to clients.

Could the face portion be put in a 'face' directory in the module and that be pulled to the alternate location by the module tool if it exists?

Thanks,

Trevor


For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages