Having puppet modules available through a content view or assigned to the host group?

Hello

New to foreman (using 1.6), my siutation is that i have 5 environments that
foreman needs to look after that do not fit the linear flow of lifecycle
environments.

I am therefore creating 5 life cycle paths.

When it comes to puppet module assigned, what is the recommended practice
of making these available to a host?

  1. Adding a product and creating a repo for the puppet modules, then
    assigning the modules to a content view
  2. Uploading puppet modules from the local disk (separate puppet env for
    each) and then assigning to a host group?

appreciate any usability/manageability thoughts?