I'm currently working on some roles and I'm not sure is it better to set role defaults so that they are development friendly, or production friendly.
Let me give you an example, so that you can understand what I mean. A postgres role needs to configure pg_hba.conf file which would in production (without setting any additional variables) look something like this:
local all all peer map=users
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
while in development it would like something like this:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Pros and cons for each of these are the same. If defaults are set for production, it is harder to setup dev environment, and the other way around. If you set them for dev, you need to be more careful when provisioning production servers, since you need to set more variables. How do you set defaults for your roles?