I would agree with Branan.  You should avoid compiling source code on a 
puppet node (unless its a ruby gem).  But if you must know there is a tool 
called blueprint that will get you what you want although it may not 
capture everything or it might capture too much.  

https://github.com/devstructure/blueprint

Although I think your time would be better spent on learning fpm 
(https://github.com/jordansissel/fpm/wiki) or omnibus 
(https://github.com/chef/omnibus).  I would use omnibus since it does a lot 
more and has pre defined recipes 
(https://github.com/chef/omnibus-software/tree/master/config/software)

I would definitely go the omnibus although the learning curve is much more 
than FPM. 

Also using docker containers is a great way to compile software since you 
can put all your dependencies in a docker image.


Corey

On Thursday, May 14, 2015 at 10:39:41 AM UTC-7, Branan Purvine-Riley wrote:
>
> On Thu, May 14, 2015 at 10:11 AM, <[email protected] <javascript:>> wrote:
>
>> I have installed apache and tomcat from source in the /opt directory.  
>> Once I completed the install I modified the directory and file ownership 
>> and permissions.
>> I also modified the .conf and .xml files for both tomcat and apache.
>> Is there a way to capture a directory structure and the modifications and 
>> then create a puppet module from this info?
>> would I use puppet resource or do I need to entre the info by hand?
>> Thanks
>>
>
> I would recommend that you build a package, which you can then deploy with 
> Puppet. You may still wish to manage the configuration files separately 
> witha  module, and that's definitely find (and encouraged). Since it sounds 
> like you mostly just want to bundle up a directory, fpm[1] might be all you 
> need.
>
> Using a native package will make it much easier when you need to upgrade 
> (and you will, eventually). It will also allow easy auditing of which 
> version of the software is running on each system in your infrastructure.
>
> If for some reason you don't want to use a package (and I STRONGLY 
> recommend that you create a proper system package), you can also just make 
> a tarball and use the staging[2] or archive[3] modules to deploy it with 
> Puppet.
>
> [1] https://github.com/jordansissel/fpm
> [2] https://forge.puppetlabs.com/nanliu/staging
> [3] https://forge.puppetlabs.com/nanliu/archive
>
>
> Branan Riley
> Software Engineer, Puppet Labs
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/7bae71de-277a-4e8c-8e85-b23b68254215%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to