- Goal enumeration is defined
- States, valid transitions are defined and documented
There are at least three implicit goal states right now that should be made explicit:
- Running – meaning there should always be a running Mesos task associated with this instance
- Suspended – meaning the tasks associated with this instance shall be killed, but the instance needs to be kept in the repo (currently only used for resident instances)
- Decommissioned – meaning all tasks associated with this instance shall be killed, and after they're reportedly terminal, the instance shall be removed because it's no longer needed. This is applicable e.g. when scaling down ephemeral instances, when deleting a service, when upgrading.