There are multiple ways to make configuration data available. The pattern we use where I work is to manage the config files, use ERB templates for them, and store the data in Hiera. You could also set custom facts on your node to make data available. The second edition of Pro Puppet has some
examples of both of those approaches.
The trickier part with a real-time app deploy is timing the agent runs and ordering the resources properly. You might need to use an orchestration tool like Mcollective to control the agent runs, to get them to happen when you want to, if the timing is critical.
Rich