feat: add MySQL/MariaDB protocol class - #62
Conversation
0307579 to
9be85dc
Compare
GhostofGoes
left a comment
There was a problem hiding this comment.
Some other requests:
- Has this been tested extensively against a OT device/system running MySQL? What SQL server instances has it been tested against (if you can share in open-source)
- Add references to new class to developer API documentation
- Add a documentation page dedicated to MySQL
9be85dc to
217291c
Compare
217291c to
c844009
Compare
This has not been tested against an OT device running MySQL. The implementation was validated against a standard MySQL instance running in Docker. The class is designed as a base class — device-specific subclasses are expected to override on_connected() and enumerate() to query proprietary tables relevant to a particular device. Testing against specific OT targets is left to those subclasses. |
|
Add a GitHub Actions workflow that spawns a MySQL container and executes tests against it |
2048256 to
7aa7109
Compare
ad00988 to
70498bb
Compare
GhostofGoes
left a comment
There was a problem hiding this comment.
I'd like to see an example module that adds to the data model, eg Users
- MySQL wrapper around PyMySQL with lazy connection via conn property - Bound logger, __enter__/__exit__ context manager support - on_connected and enumerate hooks for subclass customization - Helper methods: get_databases, get_tables, get_table_row_count, get_users, get_grants, get_global_variables, get_process_list - read_greeting staticmethod for unauthenticated banner fingerprinting - Plain-function pytest suite covering all public methods and hooks - Integration tests (test_mysql_integration.py) tagged with container marker for running against a live MySQL instance - MySQL integration test job added to tests-container.yml, spinning up MySQL 8.0 as a service container on push/PR Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
70498bb to
7403f7c
Compare
|
This PR has been approved by the team so we're going to merge it in without a module that directly utilizes the new capability. We can do that later when it comes up. |
Add MySQL/MariaDB protocol class
Description
Please include a summary of the changes made.
Related Issue
Closes #59
Checklist
Please check the following items as they're completed.
Completion of all checklist items signals to maintainers that a PR is fully ready for review.
CHANGELOG.rst