Instead of NODE_ENV pointing to an enum value of the target environment, could we have an environment variable that points to the absolute location of the config file to use? The main design paradigm I am going for is that the config processing logic in the app code should be as simplistic as possible (i.e., only one config custom-built for the app based on the surrounding environment). 

Chef is basically going to figure out where the node code is running and dynamically generate the config file to run the app in that place. Chef has to understand things like: environment (e.g., prod, stage, qa), vpc (e.g., openstack, ec2-region1, ec2-region2, google-compute), but all the node app has to understand is how to parse a single config file.

If you want to merge this I can take a stab at implementing what I am thinking.

(sorry, i realize I didn't explain this very well in the last review)