Software /
code /
prosody-modules
Annotate
mod_reload_components/README.md @ 6199:fe8222112cf4
mod_conversejs: Serve base app at /
This makes things slightly less awkward for the browser to figure out which
URLs belong to a PWA. The app's "start URL" was previously without the '/' and
therefore was not considered within the scope of the PWA. Now the canonical
app URL will always have a '/'.
Prosody/mod_http should take care of redirecting existing links without the
trailing / to the new URL.
If you have an installation at https://prosody/conversejs then it is now at
https://prosody/conversejs/ (the first URL will now redirect to the second
URL if you use it).
The alternative would be to make the PWA scope include the parent, i.e.
the whole of https://prosody/ in this case. This might get messy if other
PWAs are provided by the same site or Prosody installation, however.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 11 Feb 2025 13:18:38 +0000 |
parent | 6003:fe081789f7b5 |
rev | line source |
---|---|
2391
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
1 Introduction |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
2 ============ |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
3 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
4 This module allows to load/unload external components after they have |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
5 been added/removed to a configuration file. It is necessary to explicitly |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
6 initiate a reload on Prosody either via prosodyctl reload or config:reload(). |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
7 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
8 Example 1: |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
9 -------- |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
10 If Prosody has started with this configuration file: |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
11 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
12 ``` {.lua} |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
13 VirtualHost "example.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
14 authentication = "internal_plain" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
15 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
16 Component "a.example.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
17 component_secret = "a" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
18 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
19 Component "b.example.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
20 component_secret = "b" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
21 ``` |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
22 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
23 And the file has changed manually or dynamically to: |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
24 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
25 ``` {.lua} |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
26 VirtualHost "example.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
27 authentication = "internal_plain" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
28 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
29 Component "a.example.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
30 component_secret = "a" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
31 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
32 Component "c.example.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
33 component_secret = "c" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
34 ``` |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
35 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
36 Then, the following actions will occur if this module is loaded: |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
37 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
38 1. The component c.example.com will be loaded and start bouncing for |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
39 authentication. |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
40 2. The component b.example.com will be unloaded and deactivated. The |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
41 connection with it will not be closed, but no further actions will be |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
42 executed on Prosody. |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
43 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
44 Example 2: |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
45 -------- |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
46 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
47 If Prosody has started with this configuration file: |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
48 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
49 ``` {.lua} |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
50 VirtualHost "example.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
51 authentication = "internal_plain" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
52 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
53 Component "a.example.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
54 component_secret = "a" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
55 ``` |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
56 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
57 And the file has changed manually or dynamically to: |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
58 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
59 ``` {.lua} |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
60 VirtualHost "example.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
61 authentication = "internal_plain" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
62 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
63 Component "a.example.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
64 component_secret = "a" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
65 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
66 VirtualHost "newexample.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
67 authentication = "internal_plain" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
68 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
69 Component "a.newexample.com" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
70 component_secret = "a" |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
71 ``` |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
72 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
73 Then, the following actions will occur if this module is loaded: |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
74 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
75 1. The component a.newexample.com will be loaded and start bouncing for |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
76 authentication. Note that its respective VirtualHost is not loaded. Bad |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
77 things may happen. |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
78 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
79 Usage |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
80 ===== |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
81 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
82 Copy the module folder into your Prosody modules directory. Place the |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
83 module between your enabled modules either into the global or a vhost |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
84 section. |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
85 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
86 No configuration directives are needed |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
87 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
88 Info |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
89 ==== |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
90 |
85d04dd87f14
mod_reload_components: add new module and README file.
Camilo <camilo@camilo.fm>
parents:
diff
changeset
|
91 - 0.9, works |