codeforamerica / denver-schedules-api

An api for city events & schedules.
MIT License
7 stars 5 forks source link

Introduce Rake and Centroid #62

Closed gregoryjscott closed 10 years ago

gregoryjscott commented 10 years ago

Rake is for driving the project's automated tasks and Centroid helps manage configuration across languages and environments. Rake and Centroid are like teammates that somehow always show up on my team.

This also adds a rake task of rake ok? that currently just checks to see the local system has all the necessary environment variables. This could later run tests or whatever is necessary to help with getting a system to the status of OK.

boonrs commented 10 years ago

I like that it checks for environment variables, so many now on this project. Not sure I see the argument yet for Centroid. What configuration values do we have across languages currently?

gregoryjscott commented 10 years ago

I updated the argument for Centroid. It also helps with managing configuration across environments. For example, I'd use it to store the value of "localhost:8080" that's currently hard-coded in the Rakefile in PR #61 for local environments, while the other environments (staging and prod) will have different values. Other config values are the same for all environments, like the ones in this PR. Centroid lets you separate the config values accordingly, and it provides a method for retrieiving config for a specific environment that merges in the values that apply to all environments. And, you can do that from Rake tasks (Ruby) or from the API code (C#).

boonrs commented 10 years ago

sold :hammer: