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, <plue...@caci.com <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 puppet-users+unsubscr...@googlegroups.com. 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.