DEVELOPMENT ENVIRONMENT

~liljamo/emerwen

ref: 37248b4bedc86278a2779dcd46f251f0864d0ecc emerwen/README.md -rw-r--r-- 1.1 KiB
37248b4bJonni Liljamo docs: LICENSE, NOTICE and README.md changes 12 days ago
                                                                                
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).