airlift/airship — pull request #30 by cheddar (2013-03-21 21:05:38+00:00)
Title: Allow for pushing configs through the coordinator to S3

This is a pull request more as a question of if this is a completely horrible direction and you are morally opposed to it, or if something along these lines is actually acceptable. I believe that setting up a maven repository on the side for the storage of config bundles is too much friction to actually get started, so I'm trying to come up with another option that could be done with much less friction.

The idea was that if I can push configs to the coordinator then the world would be a bit nicer. The big issue is that Repositories are read-only and generate URIs for the actual reading, so it is a little awkward to add "put" methods on the Repository interface (things like HttpRepository cannot really implement it meaningfully). Anyway, these are my changes, let me know if this is a direction I should continue pursuing.

1) Introduce WritableRepository interface as a method of allowing for a repository to define how to push items instead of just being able to pull them.
2) Create S3Repository that implements WritableRepository and works off stuff existing in an s3 bucket somewhere
3) Introduce CoordinatorConfigProxyResource which is a simple resource that allows for the getting of configs. It will also allow for the setting if the Repository instance implements WritableRepository
4) Some stuff to make it Guice inject, I think...