Great to see the Haskell bindings Ian! See my answers inline.
* It seems like there are portions of mesos.proto that aren’t > currently supported by the API yet: in particular, “Credentials”, “ACL”, > “ACLS”, “RateLimit”, & “RateLimits” don’t seem like they do anything yet. > Am I missing something? > > The protos you mentioned are used by Masters/Slaves. I don't remember off hand why they are in the public mesos.proto instead of the internal messages.proto. If there is no good reason, we should move them to the latter. > * Is there a way to add information about additional resources > besides CPUs/Mem/Ports? > > What sort of information? Currently we have isolators for only these resources. If you add new types (e.g., IPs) , Mesos should do the accounting correctly but not provide any isolation. > * When an executor sends a message, it’s considered “best effort”– > what does that mean in practice? How do people currently use this > functionality? > I'm assuming you are referring to the Executor::sendFrameworkMessage(). It is best effort in the sense that Mesos doesn't try to retry the message (unlike status updates) if it fails anywhere on the path from slave->master->framework (e.g., due to master failover). Executors could use this to send periodic messages where losing a message is not catastrophic. For example Aurora uses this to do periodic state reconciliation.