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.