Tony,
You might take a look at the Range++ project that friend and former colleague of mine wrote. It's a re-implementation of the Yahoo libCrange solution.
Essentially, it's designed to be a Configuration Management Service (I *hate* the term "CMDB" ... :-) ), which has Salt supported targeting capabilities via the 'salt --range ....' syntax (or the Compound Matcher of 'R@' syntax). It allows you to define your infrastructure, and define your relationships between environment, hardware, operating systems, software, and services - and then utilize that data natively within Salt as your configuration management data source of truth.
As Colton states - the value of a good centralized source of truth (eg CMS) can't be under estimated.
Note that the Range++ solutions does not have a fancy web front end, and it does require a bit of work to initially set up and to describe your environment and populate the data. It's definitely not the easiest to set up. But in the end, the native Salt integration might make it worth the effort for you.
~~shane