Andrew Mirsky
de40ca51d3
Plugin: rebuild of session persistence ( #256 )
...
* rebuild of the persistence plugin to handle storing / restoring sessions
* adding event for broker when a message is being retained
* adding retained message logic to persistence plugin and test cases
* updated documentation
* moving DataClassListJson field to common location for reuse
2025-08-09 14:15:45 -04:00
Andrew Mirsky
6a45eeb533
update sample plugins to use config-file-based plugin loading. FileAuthPlugin now accepts string or pathlib.Path
2025-07-04 16:35:46 -04:00
Andrew Mirsky
1971af26a4
match yaml 'plugins' format as dictionary with python dictionary format; allow for list as well as dictionary, in case that format slips in
2025-07-04 16:05:55 -04:00
Andrew Mirsky
03bf1c34d9
provide plugin manager context so that it identifies auth and topic check plugins correctly
2025-07-02 12:24:41 -04:00
Andrew Mirsky
ee7250c720
fixes Yakifo/amqtt#187 : explicitly declaring auth plugins as an empty list (entry points configuration style) or not including a BaseAuthPlugin in loaded plugins, still allowed clients to connect to broker. security risk as explicit omission (former) or inadvertent omission (latter) might allow anonymous connections
2025-06-30 14:08:01 -04:00
Andrew Mirsky
ecdfd0a464
fix missing auth plugin
2025-06-29 18:29:48 -04:00
Andrew Mirsky
a8e1692631
updating existing plugins to use new plugin configuraiton format. adding deprecation warnings. updating existing tests and adding additional cases to check that both old and new config formats work correctly
2025-06-27 23:08:09 -04:00
Andrew Mirsky
2485351600
Merge branch 'alt_plugin_config' into migrate_existing_plugins
2025-06-27 14:46:24 -04:00
Andrew Mirsky
fb0404321d
Merge branch 'main' into alt_plugin_config
2025-06-27 13:59:39 -04:00
Andrew Mirsky
e44321f179
additional clean up of samples and validation
2025-06-26 12:37:38 -04:00
Andrew Mirsky
4c21339f7a
Merge pull request #234 from ajmirsky/issues/232
...
resolves Yakifo/amqtt#232 : adding system metrics about the broker
2025-06-25 20:10:02 -04:00
Andrew Mirsky
4ee3ece28b
fixes Yakifo/amqtt#232 : adding system metrics about the broker to the
2025-06-25 17:56:53 -04:00
Andrew Mirsky
c86e9f7dc4
updating broker sys plugin to use new plugin load and config
2025-06-25 14:48:39 -04:00
Andrew Mirsky
ea59956458
resolves Yakifo/amqtt#196 : adds alternative, non-breaking mechanism to identify and config plugins directly within in the broker (and client) config files
2025-06-18 12:54:21 -04:00
Andrew Mirsky
b7ccc458e9
moving base classes for auth and topic plugins into common file
2025-06-17 12:53:37 -04:00
Andrew Mirsky
f55d7feab8
resolving type-hinting conflicts
2025-06-17 12:48:31 -04:00
Andrew Mirsky
8068dc85e3
Merge branch 'main' into alt_plugin_config
2025-06-17 12:01:18 -04:00
Andrew Mirsky
c6a7715ddc
fixes Yakifo/amqtt#35 : gather event callbacks upon plugin load so don't have to check all plugins on every fire_event
2025-06-15 20:17:40 -04:00
Andrew Mirsky
3d6e7a8364
added tests for plugin events and broker sys topics
2025-06-15 19:27:47 -04:00
Andrew Mirsky
012a744b66
removing xfail from test_sys
2025-06-15 06:29:25 -04:00
Andrew Mirsky
4729166d99
lint fix
2025-06-14 15:39:39 -04:00
Andrew Mirsky
364273e684
marking test for broker sys plugin as xfail, because it fails on github workflow but not locally
2025-06-14 15:28:46 -04:00
Andrew Mirsky
aace4d65f7
Merge pull request #212 from ajmirsky/plugin_call_optimization
...
reduce call logic for plugin coros: authenticate, topic_filtering, close
2025-06-14 10:19:39 -04:00
Andrew Mirsky
532c8118e6
Merge branch 'rc' into issues/51
2025-06-14 09:51:42 -04:00
Andrew Mirsky
b72c7d4f28
Merge branch 'rc' into plugin_call_optimization
2025-06-14 09:51:12 -04:00
Andrew Mirsky
89a0b88491
Merge pull request #211 from ajmirsky/issues_210
...
fixes amqtt/Yakifo#210 :
2025-06-14 09:39:22 -04:00
Andrew Mirsky
038fee7cf4
remove test_sys
2025-06-14 09:26:55 -04:00
Andrew Mirsky
ec1193d439
initial version of alt approach to configuring plugins
2025-06-13 06:40:15 -04:00
Andrew Mirsky
43efa4c829
instead of filtering upon call of the plugin's coro, filter upon plugin loading
2025-06-12 19:12:33 -04:00
Andrew Mirsky
e7882a3755
fixes amqtt/Yakifo#210 : when reconnect is false, authentication failure causes NoDataError instead of ConnectError
2025-06-12 10:52:44 -04:00
Andrew Mirsky
7b936d785c
loading plugins from config file, bypassing entry points. authenticate and subscribe/publish
2025-06-12 08:37:27 -04:00
Andrew Mirsky
2caa792d69
fixes Yakifo/amqtt#51 : plugins which fail to import or load should stop the broker from starting
2025-06-09 00:11:06 -04:00
Andrew Mirsky
f049ee2931
python 3.10 still differentiates between asyncio.TimeoutError and the built-in TimeoutError
2025-06-02 23:32:39 -04:00
Andrew Mirsky
371e76fb30
adding test to cover adapter base classes. adding test for BrokerSysPlugin
2025-06-01 11:09:40 -04:00
Andrew Mirsky
f439f6fb7d
fixing test case to align with additional warning method
2025-05-31 17:11:16 -04:00
Andrew Mirsky
1e1e2026d3
cleaning up plugin interface and documentation
2025-05-30 18:50:31 -04:00
MVladislav
a024b174d0
refactor: more cleanup/linting
2025-01-12 20:52:50 +01:00
MVladislav
1a72fa8e39
refactor: formatting
2024-12-29 19:23:27 +01:00
MVladislav
7c001d69b2
refactor: bigger code upgrade and improves
...
- add github workflows
- update project.toml by disable multi parts to not see every needed fix now
- improve tests cases
- improve code quality
- ...
2024-12-21 11:52:26 +01:00
Florian Ludwig
ecf64a4f82
python pre 3.9 compatibily
2022-02-06 14:42:51 +01:00
Florian Ludwig
42be5c145c
reformat with black
2022-02-06 14:42:51 +01:00
Robert Resch
1bc2e06be2
fix flake8 error
2022-02-06 14:42:51 +01:00
Robert Resch
5181289d2b
improve has_attr plugin tests
2022-02-06 14:42:51 +01:00
Florian Ludwig
d43b36f90c
throw exception instance not class and add test
2022-02-06 14:42:51 +01:00
Florian Ludwig
9628a1ce3e
remove deprecated loop parameter from tests
2022-01-11 12:55:04 +01:00
Florian Ludwig
86cec6d2a5
remove hbmqtt plugin namespace compatibility
2021-08-17 17:01:58 +02:00
Stuart Longland
fed6d2c31c
plugins.topic_checking tests: Fix issues identified by flake8
2021-08-17 16:20:27 +02:00
Stuart Longland
bf5279911b
Pass code through `black` formatter
2021-08-17 16:20:27 +02:00
Stuart Longland
29854264e3
broker tests: Change passwords for user[1…3]
...
As pointed out, it's possible to accidentally mix them up if the
passwords are the same. Obviously, the passwords used for these tests
should _NOT_ be used in production.
2021-08-17 16:20:27 +02:00
Stuart Longland
744a6868fe
plugins.topic_checking: De-indent logging checks
...
As pointed out, the `logdog` docs do the checks outside of the context
manager scope, so we should do so as well.
2021-08-17 16:20:27 +02:00