supernomad/quantum

Multiple Datastores

supernomad opened this issue · 2 comments

Currently quantum is locked into using etcd as the datastore for the various mappings and configuration. This should be refactored into an interface to allow for multiple backends to be supported.

I think as a starting point both etcd and consul should be fully supported, and investigation into what other datastores would fit the bill needs to be done.

As a rough list of requirements of the datastore:

  • Aribitrary values for keys
  • TTL on keys
  • Watches on keys
  • Should provide security to match what quantum is after

One thing that should be at least have hooks baked in is the idea of supporting some kind of plugin like architecture to provide an easy avenue for adding new data stores in the future.

So this has been implemented at the very least to the point where its possible to easily support multiple backends. However Consul support still needs to be completed.

This is complete with #18