jrasell / sherpa

Sherpa is a highly available, fast, and flexible horizontal job scaling for HashiCorp Nomad. It is capable of running in a number of different modes to suit different requirements, and can scale based on Nomad resource metrics or external sources.
Mozilla Public License 2.0
163 stars 8 forks source link

Move Nomad Meta policy to satisfy policy interface. #58

Closed jrasell closed 5 years ago

jrasell commented 5 years ago

Previously the Nomad meta policy engine conflicted with the Consul storage backend. This was due to the early design of storage being for policies only. Recently the storage backend has improved to include additional state items, and therefore is not just for policies. The Nomad meta policy engine should therefore be able to run alongside the Consul state backend, with the Nomad meta policies storage in memory. This is because we treat Nomad as the source of truth.

The Nomad meta watcher is now also moved over to use the watcher package, in the same way deployments are tracked. Several improvements to the meta watcher are also included, such as handling groups which have their policy removed, but the job continues to run.

Closes #55