This is an outline of how to setup a generic app deployment using Salt Stack and all its features:
- Configure apps in the pillar
- Override git revisions with grains
- Setup box configurations with grains
- Resolve configurations with custom modules
- Generate states with jinja