mod_discodot/README.markdown
author Matthew Wild <mwild1@gmail.com>
Fri, 23 Sep 2022 22:41:15 +0100
changeset 5058 62480053c87b
parent 4581 253df0798996
permissions -rw-r--r--
mod_cloud_notify_encrypted: Additional debug logging when enabling/skipping
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4581
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`