1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# emerwen
emerwen is a WIP host and service monitoring solution.
emerwen stands for *shepherdess* in Quenya.
It's architected as one Master server, which configures Workers who notify the
Master about the status of their targets.
gRPC is used for the Master<->Worker connection. A custom TCP protocol was
planned and experimented with, but scrapped due to *me* not having done it before
and not wanting to deal with the burden of managing all the connections manually etc, etc.
tldr: gRPC was easier lmao.
## What's next (short-term TODO)
- Worker configuration with CLI args.
- Actually checking auth tokens.
- Master database (redb?)
- Master web UI (leptos + leptos_oidc) for configuring workers.
## Future (non-critical TODO)
- TLS
- Graceful shutdown for Workers when SIGINT is received.
- Send Master a message that you're exiting, and close the connection.
- Exit with 0 after all tasks are killed.
- Master should notify if a Worker becomes unreachable...
- ...without sending the message described above, "graceful shutdown".
## License
This project is licensed under [GNU General Public License v3.0 or later](./LICENSE).