I want to install a module into the modulepath.  I can provide either a 
http url to a tar that contains the modules (like puppetforge but the path 
is not as structured) or I could provide a git url and path under that url 
where the module is.

I want to first run puppet standalone on the vagrant vm host.  This should 
download the appropriate modules and make them available on the filesystem 
in the modulepath.  Then I'll stand up a vm and have puppet run standalone 
on the vm using the modules to setup the vm.  

I was looking at two different solutions. 

1) using some sort of archive module to download and extract the module 
(like: http://forge.puppetlabs.com/mthibaut/archive).  The problem being 
puppet requires all paths to be absolute.  I would like to be able to hack 
apart the modulepath configuration in the manifest file.  But I have no 
idea how to do that.  I was trying something like:
archive {"$filename":
    ensure      => present,
    url         => "$url",
    checksum    => false,
    extension   => "tar.gz",
    target      => split("$::modulepath", ":")[0] + "/modules/",
}

But obviously I am a bit out of my league getting that to work.

2) Using the puppet module 
provider(https://github.com/rcoleman/puppet_module_provider) to download 
and install a module.  This works great... if the module is on puppet 
forge.  But I need to keep the connections local, for connectivity outages 
and backups in case third party modules disappear from their place on the 
internet.  Also internal modules are  not going to make it out to the 
forge.  I see in the code something about a source.  But it seems that 
would point to some root folder on the web server and expect a certain 
structure underneath that folder.  I am not sure what the folder is and I 
am even less sure that I could produce it in house.


Have people solved this problem?  What has been their approach?

Mike Power

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to