Wykres commitów

1341 Commity (cee49ffba2d9041e8efbcc9f8f8da347d591a808)

Autor SHA1 Wiadomość Data
Andrew Mirsky cee49ffba2
migrate config to use the mkdocs material custom style templates. expand content. 2025-07-30 11:54:20 -04:00
Andrew Mirsky f6ccdbc51c
splitting out contrib plugin documentation into separate pages 2025-07-30 09:32:56 -04:00
Andrew Mirsky c518b9b63f
Fixes #247 : expire disconnected sessions (#279)
* Yakifo/amqtt#247 : add configuration that specifies how long sessions should be retained. also, remove sessions where we're not retaining messages (aka anonymous or clean sessions)
2025-07-26 21:39:45 -04:00
Andrew Mirsky 744827cdd5
Plugin: authentication against a relational database (#280)
* Yakifo/amqtt#259 : db schema (orm) and authentication of users plugin, initial

* expanding to include a simple admin interface

* create directory into module

* user management ui react app

* including research associated with session auth for the admin ui

* updating to handle username and acl datagrid

* multi cli optional approaches

* basic cli functions for manipulating users

* Yakifo/amqtt#259 : lint and type cleanup

* Yakifo/amqtt#259 : added tests for AuthDBPlugin as well as the UserManager. includes a command line interface for listing, adding, removing and updating users. added documentation.

* Yakifo/amqtt#259 : need to install the 'contrib' extra package for the workflows

* fixing class name change

* fixed incorrect install of optional library for ci. auth db test wasn't shutting down broker, causing subsequent tests to fail"

* test case not cleaning up after itself

* adding topic authentication to database plugin

* renamed command line script

* moved auth db ui to a different branch. added a temp directory to the temp file used for sqlite tests

* more renaming to leave space to expand to topic management

* updating dependencies

* renaming scripts

* adding topic filter and test cases

* Yakifo/amqtt#259
separate plugin for DB topic-based checking. additional topic auth testing
Yakifo/amqtt#259
updating uv.lock
fixing lint and typing errors
handling strenum for 3.10
updating documentation for topic and user auth plugins
update user and topic manager scripts, add tests and fix bugs
add tests for the user and topic mgr cli
client connection timeout should yield a connecterror

* adding 'receive' action, added along with the http plugin
2025-07-26 17:04:14 -04:00
Andrew Mirsky b7fd9e1afc
Determine auth & topic access via external http server (#262)
* initial structure of http acl

* progress

* Yakifo/amqtt#258 (in progress): a plugin which requests authentication via http

* Yakifo/amqtt#258 (in progress): a plugin which requests topic acl via http

* renaming plugin

* StrEnum support for python 3.10

* when using python 3.10, 'localhost' resolves to the wrong ip address, so we excplicitly use the loopback address. our polyfill for StrEnum in python 3.10, needs to get the value instead of its implicit converstion in other versions

* add documentation, expand functionality to handle  case including test cases

* refactoring test fixtures for HttpAuthAclPlugin

* further refactoring of test cases to eliminate duplicate code

* add comments to test code

* rename to more accurately describe user authentication and topic authorization

* config option name change

* cleaning up documentation on the Topic ACL Plugin

* simplificiation based on feedback

* updated doc

* incorporated feedback
2025-07-26 15:47:49 -04:00
Andrew Mirsky 9370ad7f9a
Structured broker and client configurations (#269)
* wip for structured configs

* updating docs to pull descriptions from structured configs

* display 'default_factory' in a field as the actual value

* finalizing the dataclass style, format and content of the documentation for the BrokerConfig.

* updated documentation for broker and client config including finalizing the griffe extension to get the output of the default_factory's of dataclasses

* all test cases working. most fixes were to make the dataclass config's backwards compatible with how the rest of the code was accessing config dictionaries

* type correction and linting fixes

* updates to support python 3.10

* fixes to handle wonky yaml files

* removing non-modified template files

* adding documentation on the custom griffe extension to render the 'default_factory' for dataclass's 'field'

* refining documentation

* removing duplicate logger
2025-07-26 12:37:25 -04:00
Andrew Mirsky ba088ac84b
test.amqtt.io dashboard cleanup (#278)
* update the configuration for the broker running at test.amqtt.io to latest format

* removing all of the MUI components from their example dashboard that are no longer needed

* separating out main grid layout into separate components and functions for readability

* updating count up display to handle bytes, kilobytes, etc
2025-07-25 12:05:33 -04:00
Andrew Mirsky 54c6b13900
Merge pull request #277 from ajmirsky/broker_script_logging
Improved broker script logging
2025-07-16 18:26:06 -04:00
Andrew Mirsky 358b1fcd39
Merge pull request #271 from ajmirsky/test_amqtt_yaml_update
update the configuration for the broker running at test.amqtt.io to l…
2025-07-16 18:23:06 -04:00
Andrew Mirsky f6be2c3141
improving amqtt script logging, silence 'transitions' module, additional info if debug is enabled 2025-07-16 18:04:08 -04:00
Andrew Mirsky 369122b86a
update the configuration for the broker running at test.amqtt.io to latest format 2025-07-14 12:28:59 -04:00
Andrew Mirsky fe64d011ec
Merge branch 'main' into 0.11.3-rc.1 2025-07-13 10:40:28 -04:00
Andrew Mirsky 8a43153cb3
Merge pull request #243 from Yakifo/0.11.2-rc
Release: 0.11.2
2025-07-13 10:22:27 -04:00
Andrew Mirsky 92305815a6
Merge pull request #266 from ajmirsky/release-0.11.2
change version numbers for release of 0.11.2
2025-07-13 10:11:14 -04:00
Andrew Mirsky fc49979389
Merge pull request #265 from ajmirsky/common_0.11.3
Structural elements for the 0.11.3 release
2025-07-10 13:24:01 -04:00
Andrew Mirsky 06cf5f6535
updating changelog for 0.11.2 release 2025-07-10 13:22:49 -04:00
Andrew Mirsky 299511707c
Merge branch 'custom_plugin_doc_updates' into release-0.11.2 2025-07-10 12:52:44 -04:00
Andrew Mirsky 2abf9faa9d
additional examples for creating custom plugins 2025-07-10 12:50:19 -04:00
Andrew Mirsky d783439ed9
Merge pull request #267 from ajmirsky/per_second_dashboard
Show messages sent/received per second on dashboard
2025-07-10 12:48:43 -04:00
Andrew Mirsky 4d6c51d8f3
display messages per second on dashboard 2025-07-10 12:47:06 -04:00
Andrew Mirsky 33ac8b8dd7
add additional documentation for custom plugins 2025-07-10 12:29:59 -04:00
Andrew Mirsky 9c0b10ea2a
update uv.lock with correct version number 2025-07-10 11:41:00 -04:00
Andrew Mirsky 75a743dda3
update uv.lock with correct version number 2025-07-10 11:40:40 -04:00
Andrew Mirsky 0cb83ca200
another version that needs updating 2025-07-10 11:38:50 -04:00
Andrew Mirsky 98778416dc
structure needed as the basis for several 0.11.3 improvements 2025-07-10 11:23:56 -04:00
Andrew Mirsky 5548897b3f
change version numbers for release of 0.11.2 2025-07-09 12:27:22 -04:00
Andrew Mirsky 7f30c631a4
Merge pull request #257 from ajmirsky/dashboard_test_amqttio
add cpu, mem and broker version to dashboard
2025-07-08 14:51:44 -04:00
Andrew Mirsky 681815397b
adding broker version into display 2025-07-08 14:46:12 -04:00
Andrew Mirsky fab7c36d86
adding memory and cpu display to test.amqtt.io dashboard 2025-07-08 11:29:42 -04:00
Andrew Mirsky 57597dfea4
Merge pull request #252 from ajmirsky/plugin_config_error_case_checking
updated samples; plugin config consistency (yaml and python dict)
2025-07-07 12:18:36 -04:00
Andrew Mirsky 8022e01bb0
Merge pull request #251 from ajmirsky/increased_test_coverage
publishing to a topic with `*` is allowed, while `#` and `+` are not
2025-07-07 12:07:11 -04:00
Andrew Mirsky 49566b6f53
Merge pull request #254 from ajmirsky/issues/245
broker shouldn't allow clients to publish to '$' topics
2025-07-07 11:48:14 -04:00
Andrew Mirsky d41a6f5205
fixes #245 : broker shouldn't allow clients to publish to '$' topics 2025-07-04 21:36:29 -04:00
Andrew Mirsky 0704169929
Merge branch '0.11.2-rc' into block_sys_topics 2025-07-04 17:16:49 -04:00
Andrew Mirsky 701b21272c
Merge pull request #249 from ajmirsky/plugin_config_casting
improve static type checking for plugin's `Config` class

( no functionality change, mypy checking improvement and comments only )
2025-07-04 17:10:31 -04:00
Andrew Mirsky 3a82dd9c89
Merge pull request #253 from ajmirsky/docker_resource_limits
updating docker compose with resource limits
2025-07-04 17:08:05 -04:00
Andrew Mirsky 2684ffa7b0
adding comments to plugin manager code 2025-07-04 17:07:17 -04:00
Andrew Mirsky 02c4116bfe
add docker container resource limits in compose example 2025-07-04 16:40:44 -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 ef73db9262
keep BrokerSysPlugin default consistent between default_broker config and plugin 2025-07-04 16:08:24 -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 9232c87202
adding tests to verify $ topic subscription rules 2025-07-04 15:57:08 -04:00
Andrew Mirsky 571434ed04
fixing test comments 2025-07-03 16:10:47 -04:00
Andrew Mirsky b2ef44dce2
Merge branch '0.11.2-rc' into increased_test_coverage 2025-07-03 14:32:45 -04:00
Andrew Mirsky a2e5a67059
resolves Yakifo/amqtt#250 : * was being blocked as a valid topic character in publish/receive, even though the invalid topic wildcard characters are '#' and '+'. also, add test coverage for error cases when creating different packet types. 2025-07-03 14:32:13 -04:00
Andrew Mirsky 38b2145234
adding tests for failure cases for different connect packet properties 2025-07-03 12:05:05 -04:00
Andrew Mirsky a571368d34
Merge remote-tracking branch 'source/0.11.2-rc' into plugin_config_casting 2025-07-03 11:47:37 -04:00
Andrew Mirsky 6f724b9a23
Merge pull request #248 from ajmirsky/issues/27
improvements in retaining messages
2025-07-03 11:47:00 -04:00
Andrew Mirsky 7bbf2990a2
fixing issue with python 3.10's handling of websocket states 2025-07-03 11:43:16 -04:00
Andrew Mirsky d78c184f86
Merge remote-tracking branch 'source/0.11.2-rc' into issues/27 2025-07-03 11:36:44 -04:00