Open issues¶
chroot operation: add and test proper sub-roots, including auth and whatnot
We need path translation. Idea: store an extension element in the destination path, which would pick the appropriate parts from the source path when processed.
2-element tuples would probably work also, given that it’s unlikely that people use complex elements in their path, but why limit ourselves?
ACLs for system data, i.e. those stored below
None
.after starting with initial data, wait until the Actor is up and we’re synced to the other nodes
Teach the server to also run an executor (or two or three or …)
Rather than mangling split messages, use a MsgPack extension type.
Rate limiting. Currently the server can flood the client with data and no other call can get a word in edgewise.
AnyRunner: Do proper load balancing; the leader should be able to tell some other node to run a job if it’s busy.
Keep an error index on the server? Something more general?
Restart code that’s been changed (without waiting for restart/retry).
Use cryptography.hazmat.primitives.asymmetric.x25519 instead of Diffie-Hellman to send passwords to the server.
Implement a shared secret to sign server-to-server messages.
Re-implement Serf (or something like it) in Python, it’s large and adds latency
Runner: switch to monotonic time (except for target time!)
Error consolidation: if a conflict doesn’t get resolved on its own, do it anyway when we are “it” next and >1 cycle has passed