Currently, Katello doesn’t handle dependency management for Puppet modules, but you can use librarian-puppet for this purpose.
Let’s create a Puppetfile for our Content View:
Use librarian-puppet package to get the .tar.gz packaged modules:
At this point, you’ll have a directory vendor/puppet/cache with all of the puppet modules including their dependencies.
Upload the modules with hammer:
But, you’ll probably want to add them to a Content View, too. This will require some fancy dancing with bash, but it appears hammer puppet-module is broken. See: http://projects.theforeman.org/issues/10410
If hammer puppet-module did work, some hacky shell script like this would do it: