Badlop
1ea0dde417
ejabberd_admin: Allow using mnesia_list_tables and mnesia_table_change_storage
2025-03-19 10:38:10 +01:00
Badlop
53dea7b6d7
Fix email addresses in modules headers
2025-03-18 19:58:47 +01:00
Badlop
c87ba45a86
Result of running "make format"
2025-03-18 19:57:38 +01:00
badlop
6ea25e2272
Merge pull request #4350 from badlop/define_keyword
...
New define_keyword option
2025-03-18 15:48:58 +01:00
Badlop
888c335c2e
Add tests for config features define_macro and define_keyword
2025-03-18 13:40:21 +01:00
Badlop
4dcf97c4c1
Now, when running tests, external may contain duplicate module
2025-03-18 13:40:21 +01:00
Badlop
352ee3a318
Docs: Document define_keyword and simplify define_macro
2025-03-18 13:40:21 +01:00
Badlop
c8abff33c1
Remove some options keyword expansion, as they are now predefined
2025-03-18 13:40:21 +01:00
Badlop
998690f58c
Add support to replace keywords in modules options
2025-03-18 13:40:21 +01:00
Badlop
6e68c2ec02
Add support to replace keywords in listener options
2025-03-18 13:40:21 +01:00
Badlop
896b7c7559
Add support to replace keywords in toplevel options
2025-03-18 13:40:21 +01:00
Badlop
69b190775c
Implement internal functions get_predefined and replace keywords
2025-03-18 13:40:21 +01:00
Badlop
b769de0690
New option define_keyword
2025-03-18 13:40:21 +01:00
Badlop
19482529ee
Inform that define_macro cannot be used inside host_config
2025-03-18 13:40:21 +01:00
Badlop
ad8e325139
Disable commands tests for old Erlang/OTP versions
...
Since recently, this test fails with Erlang/OTP 22 and lower:
=result failed:
{test_case_failed,
"Received input:
[{error,{compilation_failed,
\"/home/runner/.ejabberd-modules/sources/ejabberd-contrib/mod_example/src/mod_example.erl\"}}]
don't match expected patterns:ok"},
2025-03-18 12:45:25 +01:00
Badlop
b901a69f5c
mix.exs: Keep debug info when building dev release (thanks to Stefan Strigler)
2025-03-17 15:09:12 +01:00
Badlop
62a165e4cf
ejabberd_web_admin: Support commands with tuple arguments; fix list indent
2025-03-17 15:09:10 +01:00
badlop
29616dc163
Merge pull request #4340 from badlop/containers-frictionless
...
CTL_OVER_HTTP and containers frictionless
2025-03-12 19:40:56 +01:00
Badlop
60324d4b7a
CONTAINER.md: Include documentation for ecs container image
2025-03-12 18:19:39 +01:00
Badlop
cfa6575b4f
CONTAINER.md: Update with all the recent improvements
2025-03-12 18:18:03 +01:00
Badlop
3b01e4e4e0
Container: Fix warning about relative workdir
2025-03-12 18:18:03 +01:00
Badlop
fa4a93c465
Container: Place sockets/ outside database/
...
The socket file is useless outside the container, and also
database/ may get mounted as volume, and can't handle socket file
2025-03-12 18:18:03 +01:00
Badlop
74d6d53ac6
Container: Add ERL_FLAGS to compile elixir on qemu cross-platform
...
Without this, compiling Elixir on arm64 using QEMU fails with:
<<"could not call Module.put_attribute/3 because the module ExUnit.DocTest
is already compiled">>
Solution found in:
https://elixirforum.com/t/elixir-docker-image-wont-build-for-linux-arm64-v8-using-github-actions/56383/13
2025-03-12 18:18:03 +01:00
Badlop
8070a656fe
Container: Use again direct METHOD, qemu got fixed (3983)(4280)
...
Partially revert d15cf99
:
Container: Add METHOD to build container using packages (3983)
2025-03-12 18:18:03 +01:00
Badlop
105a0c2029
Container: Enable CTL_OVER_HTTP by default
2025-03-12 18:18:03 +01:00
Badlop
e887546c27
Container: Copy support for CTL_OVER_HTTP
2025-03-12 18:18:03 +01:00
Badlop
9305232f8c
Container: Remove runDeps file once it's used
2025-03-12 18:18:03 +01:00
Badlop
7832a6342a
Container: Link path to mnesia spool dir for backwards compatibility
...
The ejabberdctl script in ecs image sets mnesia spool dir as:
: "${SPOOL_DIR:="$HOME_DIR/database/$ERLANG_NODE"}"
2025-03-12 18:18:03 +01:00
Badlop
c924a47188
Container: Improve entrypoint script: register account, or set random
...
If password variable is set, register that account.
Example kubernetes yaml file in podman:
env:
- name: EJABBERD_MACRO_ADMIN
value: administrator@example.org
- name: REGISTER_ADMIN_PASSWORD
value: somePass0rd
If admin and password are not set,
grant admin rights only to a random account name.
Notice that admin rights are granted to that variable in the default
ejabberd.yml, so if the account is not created, somebody else could do.
2025-03-12 18:18:03 +01:00
Badlop
1d42d55064
Container: Compile ejabberdapi during build
...
Code written originally by sando38 for ecs's Dockerfile.
2025-03-12 18:18:03 +01:00
Badlop
dd7550dbad
Container: Listen for webadmin in a port number lower than any other
...
In the docker-desktop and podman-desktop,
when user clicks their "Open Browser" buttons,
those apps open a browser with / URL and the lowest exposed port number.
2025-03-12 18:18:03 +01:00
Badlop
7df7daa050
Container: Define and use macros in the configuration file
2025-03-12 18:18:03 +01:00
Badlop
090a7e664e
Container: Apply customizations directly in the configuration file
2025-03-12 18:18:03 +01:00
Badlop
3d49bed0cf
Container: Copy main example configuration file, will be customized
2025-03-12 18:18:03 +01:00
Badlop
9f28098d04
Container: Copy files to stable path, add ecs backwards compatibility
...
Copy captcha scripts to stable path for referencing in compose files:
/usr/local/bin/
which is included in $PATH
For backwards compatibility with ecs, link:
/opt/ -> /home/
/usr/local/bin/ -> /opt/ejabberd/bin/
Copy sql files to stable path for referencing:
/opt/ejabberd/sql/
For backwards compatibility with ecs, copy also to
/opt/ejabberd/database/
ecs image implemented this in ejabberdctl since 2019:
edb0373fd0ae0b24807a41ba2c3bf04b5b514844
Keep SQL init scripts in container (#42 )
2025-03-12 18:18:03 +01:00
Badlop
e761b22c61
ejabberd_listener: When opening ctl_over_http connection, log in DEBUG
2025-03-12 18:18:03 +01:00
Badlop
4d62f545c5
ejabberd_admin: Separate Status command result with newline
...
This is useful for CTL_OVER_HTTP
2025-03-12 18:18:03 +01:00
Badlop
f789495c39
ejabberdctl: Improve method to pass command arguments
2025-03-12 18:18:03 +01:00
Badlop
46a64c0f68
New ejabberdctl option CTL_OVER_HTTP
...
This uses an HTTP connection to execute the command,
which is way faster than starting an erlang node
2025-03-12 18:18:03 +01:00
Badlop
ab8a39e71f
ejabberdctl: Improve explanation how to stop ejabberd in live mode
2025-03-12 18:18:03 +01:00
Badlop
630301a7ba
ejabberdctl: Document the --auth option
...
The expected placement of --auth is not arbitrary,
it should be provided immediately before the command+args
2025-03-12 18:18:03 +01:00
Badlop
d4fd987e84
ejabberd_listener: When stopping listener, delete Unix Domain Socket file
2025-03-12 17:21:46 +01:00
Badlop
c5abe5d882
ejabberd_listener: Apparently the sleep 5 seconds isn't needed anymore
2025-03-12 17:09:37 +01:00
Badlop
71dbbc1b5a
ejabberd_listener: Use /tmp for temporary socket, as path is restricted to 107 chars
2025-03-12 17:09:37 +01:00
Badlop
c9a9585573
ejabberd_listener: Add support for socket relative path
...
If the 'port' option is set to "unix:some-filename" without absolute path,
then the file is created in the mnesia spool directory
2025-03-12 17:09:37 +01:00
Badlop
bb2f398fa2
ejabberd_listener: Handle unix socket when logging remote client
2025-03-12 17:09:37 +01:00
Badlop
afc54aeb20
ext_mod: Provide output path when mix unpacks dependency from hex
...
When installing a module with mix available in the system,
mix downloads and uncompresses the dependency.
By default the output dir is <app>-<version> [1], and
that breaks compilation of the prometheus library:
.../sources/ejabberd-contrib/mod_prometheus/deps/prometheus-4.11.0/src/metrics/prometheus_quantile_summary.erl:67:14:
can't find include lib "quantile_estimator/include/quantile_estimator.hrl"
% 67| -include_lib("quantile_estimator/include/quantile_estimator.hrl").
[1] https://hexdocs.pm/hex/Mix.Tasks.Hex.Package.html#module-command-line-options
2025-03-12 12:42:42 +01:00
badlop
9c142e5509
Merge pull request #4361 from sstrigler/ext_mod-fix-greedy-include-path
...
Ext mod fix greedy include path cont'd
2025-03-12 10:59:44 +01:00
Stefan Strigler
27f98f50d3
fix typo
2025-03-12 08:11:25 +01:00
Stefan Strigler
0145594adc
add $libdir/include to include path
2025-03-12 08:11:07 +01:00