m/n/time: add time service
This adds a bare-minimum time service based on chrony/NTP for keeping
the system clock and RTC on Metropolis nodes accurate.
It also introduces a UID/GID registry in the Metropolis node code
as this is the first unprivileged service to run on the node itself.
It does not yet use a secure time source, this is tracked as #73.
Change-Id: I873971e6d3825709bc8c696e227bece4cfbda93a
Reviewed-on: https://review.monogon.dev/c/monogon/+/319
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/third_party/chrony/patches/disable_defaults.patch b/third_party/chrony/patches/disable_defaults.patch
new file mode 100644
index 0000000..2a3dacf
--- /dev/null
+++ b/third_party/chrony/patches/disable_defaults.patch
@@ -0,0 +1,13 @@
+diff --git a/conf.c b/conf.c
+index ce2ff00..7ce7fd2 100644
+--- a/conf.c
++++ b/conf.c
+@@ -403,8 +403,6 @@ CNF_Initialise(int r, int client_only)
+ if (client_only) {
+ cmd_port = ntp_port = 0;
+ } else {
+- bind_cmd_path = Strdup(DEFAULT_COMMAND_SOCKET);
+- pidfile = Strdup(DEFAULT_PID_FILE);
+ }
+
+ SCK_GetAnyLocalIPAddress(IPADDR_INET4, &bind_address4);
\ No newline at end of file