Where to place application specific config/data?
I use the puppetlabs/apache and camptocamp/tomcat modules to configure a server for a Tomcat/Apache application. This server has profiles::apache and profiles::tomcat assigned to it which basically just include the ::apache and ::tomcat modules. All of my data is stored in hiera (for apache vhosts, tomcat instance config, etc).
This works well for getting the Tomcat instance and Apache configured, but I still need a solution for puppetizing the actual deployment of an application. This would include things like:
- Placing a WAR file on the Tomcat server
- Dropping the web application configuration down (erb template)
My problem is that I do not know where to place this within Puppet. I don't want to make my profiles::tomcat class too specific for one certain application. I was thinking that I could use create_resources to create file resources to drop the WAR and it 's associated configuration template down, and then store all of the actual data back in Hiera. If I did this, where would I put the associated ERB template config? In the profile module?
Is this a good solution? Any other recommendations on how to handle this?