aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_admin_shell.lua
Commit message (Collapse)AuthorAgeFilesLines
* mod_admin_shell: Fix typo in comment [codespell]Kim Alvefur2022-02-041-1/+1
|
* mod_admin_shell: Add descriptions of each column to 'help columns'Kim Alvefur2022-01-301-5/+35
| | | | Since some of the titles are quite dense
* mod_admin_shell: Use exact match instead of Lua patterns in c2s,s2s:showKim Alvefur2022-01-301-2/+2
| | | | | | It is unexpected that 'example.com' matches 'exampleicom.org' and this use of Lua patterns is undocumented and unlikely to be widely known or used.
* mod_admin_shell: Fix traceback on rendering graph of stats without extra labelsKim Alvefur2022-01-291-1/+1
| | | | | | Stops an error when extra_labels is nil since it attempts to index it Unsure about correctness
* mod_admin_shell: Add help section about statsKim Alvefur2022-01-291-1/+4
|
* mod_admin_shell: Add help section about customizing table columnsKim Alvefur2022-01-281-1/+17
|
* mod_admin_shell: Add command to show current user rolesKim Alvefur2022-01-231-0/+20
|
* mod_admin_shell: Add help section about rolesKim Alvefur2022-01-231-0/+12
| | | | | | | As in the argument to user:create() and user:roles() Tricky to come up with something sensible to write when Prosody core only knows of the 'prosody:admin' role so far.
* mod_admin_shell: Log creation of incoming s2s connections during pingKim Alvefur2021-12-271-0/+2
| | | | | The 's2s-created' fires just after accepting the TCP connection, before the addresses are known, so this can have some false positives.
* mod_admin_shell: Print s2s related events while waiting for pingKim Alvefur2021-12-261-1/+28
| | | | Gives a better idea of what's taking time.
* mod_smacks: Limit queue memory consumption using new utilKim Alvefur2021-12-141-1/+1
| | | | | | | | | This brings back the queue size limit that was once added, then removed because destroying the session when reaching the limit was not great. Instead, the queue wraps and overwrites the oldest unacked stanza on the assumption that it will probably be acked anyway and thus does not need to be delivered. If those discarded stanzas turn out to be needed on resumption then the resumption fails.
* mod_admin_shell: Add port as a c2s/s2s:show column definitionKim Alvefur2021-12-071-0/+7
| | | | | Allows inferring whether Direct TLS was used, or perhaps which SRV record was chosen. Not shown by default.
* mod_admin_shell: Handle global roles (pass host=*)Kim Alvefur2021-12-061-1/+2
| | | | Is it not odd that um.set_roles() takes `nil` to mean global?
* mod_admin_shell: Only check that local users exist locallyKim Alvefur2021-12-061-3/+1
|
* mod_admin_shell: Support setting roles on hosts other than the users'Kim Alvefur2021-12-061-4/+8
| | | | | | | | Needed to e.g. grant admin rights on a component, or grant non-local users local privileges. Leave the same host syntax for convenience, since this might be the common case.
* mod_admin_shell: Add command for updating roles user:roles(jid, roles)Kim Alvefur2021-12-061-4/+19
| | | | | This would allow e.g. granting admin status without changing the config and without a restart.
* mod_admin_shell: Allow setting roles when creating userKim Alvefur2021-12-041-2/+12
|
* mod_admin_shell: List periodic tasks in module:infoKim Alvefur2021-11-221-0/+2
|
* mod_admin_shell: Remove now redundant promise awaiting in dns:lookup()Kim Alvefur2021-11-271-6/+1
|
* mod_admin_shell: Remove now redundant promise awaiting in xmpp:ping()Kim Alvefur2021-11-271-6/+3
|
* mod_admin_shell: Fix indentationKim Alvefur2021-11-261-13/+13
| | | | It was all of for some reason
* mod_admin_shell: Wait for promisesKim Alvefur2021-11-261-0/+5
| | | | I've typed `>require"util.async".wait_for(...)` for the last time!
* mod_admin_shell: Reduce width of 'Status' columnKim Alvefur2021-11-261-3/+3
| | | | | 'unavailable' was the longest possibility, dropping it probably differentiates available from unavailable more, in less space.
* mod_admin_shell: Reduce width of 'Security' column (thanks Link Mauve)Kim Alvefur2021-11-261-3/+3
| | | | Tricky to represent "secure, but no details" in short enough space.
* mod_admin_shell: Fix showing default HTTP path in module:infoKim Alvefur2021-11-251-1/+1
| | | | Thanks mod_http_openmetrics
* mod_admin_shell: Factor out simple function in module:info for reuseKim Alvefur2021-11-241-4/+6
| | | | Marginal improvement in readability
* mod_admin_shell: List collected metrics in module:infoKim Alvefur2021-11-241-0/+16
| | | | Lets you know what to look for with stats:show()
* mod_admin_shell: List net providers in module:infoKim Alvefur2021-11-231-0/+1
|
* mod_admin_shell: Return counts of shown vs total from new table viewsKim Alvefur2021-11-161-4/+17
| | | | Not exactly the way it was before, but close enough and useful.
* mod_admin_shell: Handle absence of connection in security column (thanks ↵Kim Alvefur2021-11-151-1/+1
| | | | | | arcseconds) I surmise this can happen in a disconnected/smacks hibernation state.
* util.human.io: Pass nil to cell mapper to signal missing valueKim Alvefur2021-11-121-15/+13
| | | | | Seems more like conventional Lua than passing an empty string to signal lack of value.
* mod_admin_shell: Respect metatables in output serializationKim Alvefur2021-11-121-1/+7
| | | | | Makes it so that returning e.g. util.cache :table() produces useful output, which otherwise would look like empty tables.
* mod_admin_shell: Specify a width for cert columnKim Alvefur2021-11-101-0/+1
| | | | Avoids ellipsis
* mod_admin_shell: Indicate bi-directional s2s connectionsKim Alvefur2021-11-101-1/+2
|
* mod_admin_shell: Allow passing columns as a string for convenienceKim Alvefur2021-11-101-0/+1
|
* mod_admin_shell: Optionally group session listings by host when not included ↵Kim Alvefur2021-11-101-3/+33
| | | | | | as column Similar to the earlier view
* mod_admin_shell: New table based implementation of c2s and s2s:show()Kim Alvefur2021-11-101-198/+245
| | | | | | Nicer and more readable. Thanks jonas’ and prosody@ for JID length stats to inform column widths.
* mod_admin_shell: Show HTTP base-URLs in module:info()Kim Alvefur2021-10-131-1/+2
| | | | | Because it's nice, not having to find it in http:list(), which could have a lot of items.
* mod_admin_shell: Allow passing an exit code to server:shutdown()Kim Alvefur2021-09-301-2/+2
| | | | Mirroring the internal API
* mod_admin_shell: Keep unrestricted environment for session lifetimeKim Alvefur2021-08-111-1/+5
| | | | | | | | Makes it so that global values set in the environment are kept longer than within one line, and thus can be used until the session ends. They still don't pollute the global environment, which is an error anyway. Thanks phryk for noticing.
* mod_admin_shell: module:info: List 'items' that can be formatted easilyKim Alvefur2021-06-121-0/+14
| | | | | Some items like HTTP providers would be very verbose, others are tricky to handle.
* mod_admin_shell: module:info: Show friendlier name for known 'items'Kim Alvefur2021-06-121-1/+9
|
* mod_admin_shell: module:info: List provided 'items'Kim Alvefur2021-06-121-0/+6
|
* mod_admin_shell: module:info: Use existing host string representationKim Alvefur2021-06-121-8/+2
| | | | | | Hosts have a metatable __tostring method that produces a nice representation such as `VirtualHost "example.com"`, which even includes the component module for internal components.
* mod_admin_shell: module:info: List dependenciesKim Alvefur2021-06-121-0/+6
|
* mod_admin_shell: module:info: Show module statusKim Alvefur2021-06-121-0/+3
|
* mod_admin_shell: Add basic command that shows more info about loaded modulesKim Alvefur2021-06-121-0/+29
| | | | | To show info about loaded modules. Inspired by the desire to know whether a module was loaded from the core set or 3rd party.
* Statistics: Rewrite statistics backends to use OpenMetricsJonas Schäfer2021-04-181-235/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The metric subsystem of Prosody has had some shortcomings from the perspective of the current state-of-the-art in metric observability. The OpenMetrics standard [0] is a formalization of the data model (and serialization format) of the well-known and widely-used Prometheus [1] software stack. The previous stats subsystem of Prosody did not map well to that format (see e.g. [2] and [3]); the key reason is that it was trying to do too much math on its own ([2]) while lacking first-class support for "families" of metrics ([3]) and structured metric metadata (despite the `extra` argument to metrics, there was no standard way of representing common things like "tags" or "labels"). Even though OpenMetrics has grown from the Prometheus world of monitoring, it maps well to other popular monitoring stacks such as: - InfluxDB (labels can be mapped to tags and fields as necessary) - Carbon/Graphite (labels can be attached to the metric name with dot-separation) - StatsD (see graphite when assuming that graphite is used as backend, which is the default) The util.statsd module has been ported to use the OpenMetrics model as a proof of concept. An implementation which exposes the util.statistics backend data as Prometheus metrics is ready for publishing in prosody-modules (most likely as mod_openmetrics_prometheus to avoid breaking existing 0.11 deployments). At the same time, the previous measure()-based API had one major advantage: It is really simple and easy to use without requiring lots of knowledge about OpenMetrics or similar concepts. For that reason as well as compatibility with existing code, it is preserved and may even be extended in the future. However, code relying on the `stats-updated` event as well as `get_stats` from `statsmanager` will break because the data model has changed completely; in case of `stats-updated`, the code will simply not run (as the event was renamed in order to avoid conflicts); the `get_stats` function has been removed completely (so it will cause a traceback when it is attempted to be used). Note that the measure_*_event methods have been removed from the module API. I was unable to find any uses or documentation and thus deemed they should not be ported. Re-implementation is possible when necessary. [0]: https://openmetrics.io/ [1]: https://prometheus.io/ [2]: #959 [3]: #960
* mod_admin_shell: Remove obsolete checks related to s2sout.libKim Alvefur2021-04-061-14/+1
| | | | | s2sout.lib was removed in 756b8821007a along with srv_hosts and srv_choice
* mod_admin_shell: Sort timers by time in debug:timers()Kim Alvefur2021-03-231-1/+6
| | | | | Easier to see which timers are happening soon vs further in the future if they are in some sensible order.