Hacker News new | ask | show | jobs
by joshstrange 976 days ago
Yes, we commit the default state (normally off but sometimes on if we are planning to turn something existing off later) then use Salt to push out flags to different boxes so we can canary the changes a few places before taking it global.

Eventually once something is fully rolled out we might go back and change the default state but since Salt is always going to manage most of that it’s not a high priority.

1 comments

Nice, cool to hear flags in conjunction with canary releases. Are your flags simply configuration stored in files that your applications read at runtime? Then you push those updates out with Salt?
Pretty much. Salt pushes out a supplemental config file that we use to build a php file (after merging with the defaults) with `define('FLAG_NAME_HERE', value);` that out core application reads at startup. We have different classes/roles for our boxes so we can roll out a flag to a specific type or some of a specific type if we are going to canary. I wouldn't say that our specific method is anything special but it works very well in practice.