This document summarizes Spotify's experiences with running Puppet in a masterless configuration. Some key points:
- Spotify previously used multiple Puppet masters but switched to a masterless setup to allow for more flexible workflows and continuous delivery of applications and configurations.
- In the masterless setup, each node runs Puppet apply directly using Hiera data to determine which modules to use for that run.
- Benefits of the masterless approach include easier debugging and ability to control modules on a per-node basis. Drawbacks require more manual configuration.
- Spotify uses a custom Ruby wrapper, PuppetDB for facts/catalog storage, and a secret management service to support the masterless infrastructure.