Module: authorize_remote_automate.lua
Author: ThomasKeller & RichardLevitte
Included in monotone: yes

This is a lua hook for monotone that uses the file remote-automate-permissions in the configuration directory to determine which keys are authorized to perform remote automate operations.

The format of remote-automate-permissions is very simple, one key identity on every line.

It's possible to configure this script to allow the performance of some remote automate commands anonymously, through the variable ARA_safe_commands, which has to be a table of commands as strings.
Here's one example, taken from the setup at code.monotone.ca:

ARA_safe_commands = {
   "get_corresponding_path", "get_content_changed", "tags", "branches",
   "common_ancestors", "packet_for_fdelta", "packet_for_fdata",
   "packets_for_certs", "packet_for_rdata", "get_manifest_of",
   "get_revision", "select", "graph", "children", "parents", "roots",
   "leaves", "ancestry_difference", "toposort", "erase_ancestors",
   "descendents", "ancestors", "heads", "get_file_of", "get_file",
   "interface_version", "get_attributes", "content_diff",
   "file_merge", "show_conflicts", "certs", "keys", "get_extended_manifest_of"
}