Puppet and Cheff are configuration management tools. My cheff expefience is not strong so i will focus on puppet.
Puppet has the possibility to serve files (i imagine cheff also). This can be used to serve your app. If you are crafty with nginx nothing stops you to put it in front of puppet and proxy the necessary file requests to your maven repo or just serve the files from nginx.
Generally serving your whole repo is not a good idea as it will promote errors. Build a more formal release process which will include at some point putting the necessary artefacts in the area served as files by puppet.
Create some simple logic like (for example install always a file muapp-prod-latest.zip or something similar.
the definition for this file can stay static and you manage the file on the filesystem (i.e. symlinks) or it may incorporate a variable defining the version and you control the version.