ioos / service-monitor

A web based catalog of IOOS services and datasets
http://catalog.ioos.us
6 stars 13 forks source link

Converts configuration to YAML #405

Closed lukecampbell closed 9 years ago

lukecampbell commented 9 years ago

@benjwadams

lukecampbell commented 9 years ago

Fixes #378

daf commented 9 years ago

Still using supervisord? Should adjust the template as part of these changes too.

benjwadams commented 9 years ago

Can we really commit to the same yaml file we'll be using to configure the webapp? Every time we make a change to the config.yml file, it'll show up and if we want to pull down changes it will cause merge conflicts. And of course if you do something like git add -u :/ and then commit, it'll pick up the config file will potentially sensitive information. Maybe make a config.yml.example and then add config.yml to .gitignore?

lukecampbell commented 9 years ago

I think you may be overthinking it. On production you could just make a branch with the configuration changes and call the branch "production" and just rebase it on the latest every time.

Or, you could just git stash, then pull then git stash apply.

There's any number of possibilities.

The point of this is so that developers can clone the project and actively start developing with minimal changes and the configuration is intuitive. The environment variables are essentially hidden, and unless you know where to look and understand the relationship between supervisor, gunicorn and the Flask app, you'll waste hours trying to configure the application.

lukecampbell commented 9 years ago

@daf yeah, I already have those changes staged on production.

daf commented 9 years ago

A lot of projects have the VCS tracked file called config.yaml.example with instructions to make you copy it to the right place, with config.yaml specifically ignored. That might solve some headaches.

Also why are the supervisor template changes not in this repo?

benjwadams commented 9 years ago

See also https://gist.github.com/canton7/1423106 for alternative approaches. I think it's dangerous to track a config file which has potentially sensitive data. OOI also did it for a while and it was also a pain any time you wanted to pull down some changes.

Just add something to the readme saying "copy this file to config.ini and replace with the appropriate values for db, user, etc.

lukecampbell commented 9 years ago

@daf the supervisor templates haven't come from catalog in a WHILE they come from deploy-fabs.

lukecampbell commented 9 years ago

The background on that is that fabric broke last year and no one has had the time to fix it, (or risk corrupting production).

daf commented 9 years ago

Hmm, I don't remember putting those in there (maybe you did), that's probably why I'm so confused. You should likely delete deploy/supervisord.conf then for lack of confusion.