Annotate

mod_discodot/README.markdown @ 5824:73887dcb2129

mod_pubsub_serverinfo: New module that uses pub/sub to make accessible server info This first implemetnation is laughably simple: it only adds a disco#info feature. This flags 'opt-in' for inclusion of local domain names in the data exposed by other domains (per the domain), which will allow servers to be listed in the XMPP Network Graph at https://xmppnetwork.goodbytes.im Hopefully, this bare-boned implementation acts as a stepping stone for future improvements.
author Guus der Kinderen <guus.der.kinderen@gmail.com>
date Thu, 28 Dec 2023 11:02:35 +0100
parent 4577:253df0798996
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4577
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 # Flowcharts!
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 Put this module somewhere Prosody will find it and then run
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 `prosodyctl mod_discodot | dot -Tsvg -o disco-graph.svg` to receive a
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 graph like this[^1]:
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 +------------------------+ +------------------------------------------+
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 | proxy.external.example | <-- | VirtualHost "example.com" | -+
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 +------------------------+ +------------------------------------------+ |
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 | |
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 | |
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 v |
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 +------------------------------------------+ |
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 | Component "conference.example.com" "muc" | <+
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 +------------------------------------------+
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 Example config for the above:
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 ``` {.lua}
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 VirtualHost "xmpp.example.com"
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 disco_items = {
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 { "conference.example.com"; };
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 { "proxy.external.example"; };
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 }
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 Component "conference.example.com" "muc"
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27 ```
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29 Note the `disco_items` entry causing duplication since subdomains are
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30 implicitly added.
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31
253df0798996 mod_discodot: Print a graph of service discovery
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32 [^1]: this was actuall made with `graph-easy`