Suggestions for managing puppet modules using CVs


I would like to put some ideas or may be feature request to manage puppet
modules using CVs, below is what i am thinking …

create puppet ENVs same as your life-cycle environments … so it will be
like "/etc/puppet/environments/{development, stage, production}" … now
when you upload puppet module to CV manage it like … add puppet module to
"/var/lib/pulp/puppet_modules" ( just an example to extract modules here )"

so once you push module from Library -> development create folder like


and inside "/etc/puppet/environment/development/modules" create link for
this … ( somewhat similar how rpms are managed )

/etc/puppet/environment/development/modules/ntp ->
/var/lib/pulp/puppet_modules/KT_ORG_development_CV_versionmodules/ntp (
soft link )

now the benefit of having this is

  1. in GUI you will only have 3 ENVs to manage + "/etc/puppet/environments/"
    looks very easy to manage
  2. if you just assign "development" ENV to a particular host or HostGroup,
    all modules inside that env will be available to that host or hostgroup (
    currently with CV when you assign some ENV, you only have modules from that
    CV only and you lose other modules from different CV ( unless you have CCV,
    but that not possible to create every time as you always have to publish
    child and parent CV and very slow process with CCV of rhel rpms + puppet
    modules + application team's rpms + app team's puppet modules ).
  3. you can still manage versioned CVs.
  4. you can still use "roles" and access control similar + i think better

Please comment if this is possible to implement ?? and vote please.