Description
Managing complex configurations is, well, complex. Take postgres as an example: with roles, group memberships, granted privileges, and default privileges all affecting each other, keeping straight how everything fits together can feel impossible. This talk discusses an approach we took at Squarespace to simplify this chaos using a custom ansible module and config as code. Taking this problem as a case study, we'll discuss what ansible is and how to write a custom module for it, how to express config as code, and techniques for testing config as code.