From a01dbe90b91672fd00ed8fffddbb4d8656d33db5 Mon Sep 17 00:00:00 2001 From: Jonni Liljamo Date: Thu, 16 Jan 2025 20:16:33 +0200 Subject: [PATCH] docs: more initial planning --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/README.md b/README.md index 15a4021..781521d 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,8 @@ Many, hosted as ns1, ns2, nsN, ns9. Requires a static public IPv4, which is used as the DNS (At least Do53 (Port 53 over UDP and TCP). Possibly DoT, DoH and DoQ in the future) interface. +Don't start DNS servers until configuration from felu-mgmt is received. + Optionally the same interface used for DNS can be used as the interface that felu-mgmt connects to for management. Though ideally management is done via a VPN connection (e.g. Tailscale) and not @@ -43,6 +45,8 @@ Built-in HTTP server for things like Prometheus metrics at /metrics. #### felu-common Protobuf definitions and other shared structures. +* [prost](https://github.com/tokio-rs/prost) for protobufs + ## Initial notes: ### Communication Certs! @@ -53,3 +57,26 @@ Which is easier when we need a stream? One-way stream? Mgmt sends data to ns, and ns can respond Results to received messages, but not send messages to mgmt. +### Version control +Configuration version number. +Whole config hash? + +### Health checks +Check if all available and on correct version of config. +Send config update if not. + +5 second intervals. + +### Atomic updates +Swap config after update in one operation. + +## Scenarios +### New felu-ns +Receive whole config. + +### Config updated +Existing felu-ns receive update. + +#### felu-ns network flaky just as config was supposed to come +Health check will re-send if this happens. + -- 2.44.1