Repository navigation
Post-merge review of #244, #245, #246, #248 (do not merge) #249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
askdba
wants to merge
18
commits into
review/post-merge-20261031-base
from
review/post-merge-20261031
Closed
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
d33dba6
feat(docker): mysql-mcp images with component_mcp_guard and the tool …
askdba 177b70b
fix(docker): base mysql-mcp images on the guard's exact build release
askdba f888106
fix(docker): review of #244 — required release, TCP healthcheck, NO_B…
askdba a778ac0
fix(docker): base component images on their exact build release
askdba 36b31cb
fix(docker): pin component images to 8.4.13 and 9.7.4
askdba cff3748
docs(examples): build the movie-finder image on the component's release
askdba ea04398
fix(docker): base plugin images on their exact build release
askdba 89dc2c6
fix(build): configure 9.7 without WebAuthn (9.7.4 enables it by default)
askdba 5badedf
fix(docker): health check without root logins, on the server's port
askdba 7f33318
Merge remote-tracking branch 'origin/main' into feat/mysql-mcp-images
askdba 814276b
Merge pull request #244 from askdba/feat/mysql-mcp-images
askdba 3e001e3
Merge origin/main (mysql-mcp images, #244) into fix/pin-component-images
askdba bf00303
Merge pull request #245 from askdba/fix/pin-component-images
askdba 5a2f6e9
Merge origin/main (component image pinning, #245) into fix/pin-plugin…
askdba 9606a07
Merge pull request #246 from askdba/fix/pin-plugin-images
askdba f949efa
test(mcp-guard): views, multi-statement packets, parity table; docume…
askdba 1696d1a
fix(test): review of #248 — trigger mitigation, docs link, stricter c…
askdba f3e26f1
Merge pull request #248 from askdba/test/mcp-guard-gaps
askdba File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| # mysql-mcp: the official MySQL image with the MCP components of RFC 0001 | ||
| # (askdba/mysql-mcp-server): component_mcp_guard and the mysql_mcp SQL tool pack. | ||
| # Published as ghcr.io/askdba/mysql-mcp:<8.4|9.7|26.10> by docker-publish.yml. | ||
| # Build context: the repository root, with component_mcp_guard-<arch>.so staged there. | ||
| # MYSQL_VERSION (required, no default) must be the exact release the component was built | ||
| # against, for example 8.4.13: a component built for another patch release can crash the | ||
| # server. | ||
| ARG MYSQL_VERSION | ||
|
|
||
| FROM mysql:${MYSQL_VERSION} | ||
| ARG TARGETARCH | ||
|
|
||
| LABEL org.opencontainers.image.title="mysql-mcp" \ | ||
| org.opencontainers.image.description="MySQL with component_mcp_guard and the mysql_mcp tool pack for mysql-mcp-server" \ | ||
| org.opencontainers.image.source="https://github.com/askdba/myvector" \ | ||
| org.opencontainers.image.documentation="https://github.com/askdba/myvector/blob/main/docs/MCP_COMPONENTS.md" \ | ||
| org.opencontainers.image.licenses="GPL-2.0-only AND Apache-2.0" | ||
|
|
||
| # Statically linked against libstdc++/libgcc and built in oraclelinux:9, this image's base. | ||
| COPY component_mcp_guard-${TARGETARCH}.so /usr/lib64/mysql/plugin/component_mcp_guard.so | ||
| COPY sql/mcp/mysql_mcp.sql sql/mcp/uninstall.sql sql/mcp/LICENSE /usr/share/mysql-mcp/ | ||
| COPY docker/mysql-mcp/mysql-mcp-init.sh /docker-entrypoint-initdb.d/50-mysql-mcp.sh | ||
| COPY docker/mysql-mcp/mysql-mcp-healthcheck.sh /usr/local/bin/mysql-mcp-healthcheck | ||
|
|
||
| # checkov:skip=CKV_DOCKER_3:MySQL entrypoint needs root for initialization | ||
| # Healthy only after first-start setup, on the server's port, without touching root's | ||
| # login (see the script). | ||
| HEALTHCHECK --interval=30s --timeout=5s --retries=5 CMD ["/usr/local/bin/mysql-mcp-healthcheck"] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| #!/bin/sh | ||
| # Health check of the mysql-mcp image: is mysqld up and done with first-start setup? | ||
| # | ||
| # - TCP: the entrypoint's temporary setup server does not listen on TCP, so the check | ||
| # passes only once the real server runs. | ||
| # - The port mysqld was started with (--port=N or --port N on its command line; else 3306). | ||
| # - As a user that does not exist, with no password: ping reports a running server even | ||
| # when access is denied, and a nonexistent account cannot be locked by failed logins | ||
| # (probing as root could lock out administrators with FAILED_LOGIN_ATTEMPTS). | ||
| port=$(tr '\0' '\n' </proc/1/cmdline 2>/dev/null | awk ' | ||
| prev == "--port" || prev == "-P" { p = $0 } | ||
| /^--port=/ { p = substr($0, 8) } | ||
| { prev = $0 } | ||
| END { print p }') | ||
| exec mysqladmin ping --protocol=TCP -h127.0.0.1 -P"${port:-3306}" \ | ||
|
coderabbitai[bot] marked this conversation as resolved.
Resolved
|
||
| -umysql-mcp-healthcheck --connect-timeout=3 --silent | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new 9.7.4 plugin leg reaches the configure step without disabling WebAuthn or installing
libfido2-dev. MySQL 9.7.4 enables WebAuthn by default, and the component build added-DWITH_AUTHENTICATION_WEBAUTHN=OFFbecause its build container lacks the required headers; the plugin build has the same missing dependency, so its configure step fails and the workflow cannot publish the 9.7 plugin image. Pass the same option or install the dependency. MySQL 9.7.4 CMakeListsUseful? React with 👍 / 👎.