Repository navigation
feat: add SSL connection parameters to Cassandra and MySQL ingestors - #1676
Shashankss1205 merged 11 commits into
Conversation
|
@TrueFurina is attempting to deploy a commit to the shashankss1205's projects Team on Vercel. A member of the Team first needs to authorize it. |
…aphContext#1677) VS Code and its forks write settings.json as JSONC. json.load rejects comments and trailing commas, and the wizard treated that rejection as "no settings yet" before writing the file back, so a user's whole configuration was replaced by a lone mcpServers key. Parse JSONC before giving up, and if the file still cannot be parsed, leave it alone instead of overwriting it. Back up the file before writing either way, and say so when comments are present, since json.dump cannot preserve them. Fixes CodeGraphContext#660 Signed-off-by: Aloys Jehwin <[email protected]>
…xt#1680) Anything git ignores is now ignored by the indexer, so a repository no longer needs a .cgcignore that restates its .gitignore. Patterns are layered defaults -> .gitignore -> .cgcignore. Matching is last-match-wins, so a negated pattern in .cgcignore can still bring a git-ignored path back into the graph. Fixes CodeGraphContext#729 Signed-off-by: Aloys Jehwin <[email protected]>
…aphContext#1682) * fix(viz): display source filenames for synthetic module nodes * fix(jobs): serialize last update time in job responses (CodeGraphContext#1679) * fix(cli): explain embedded database lock conflicts (CodeGraphContext#1684) * fix(setup-wizard): stop replacing IDE settings that are JSONC (CodeGraphContext#1677) VS Code and its forks write settings.json as JSONC. json.load rejects comments and trailing commas, and the wizard treated that rejection as "no settings yet" before writing the file back, so a user's whole configuration was replaced by a lone mcpServers key. Parse JSONC before giving up, and if the file still cannot be parsed, leave it alone instead of overwriting it. Back up the file before writing either way, and say so when comments are present, since json.dump cannot preserve them. Fixes CodeGraphContext#660 Signed-off-by: Aloys Jehwin <[email protected]> * feat(cgcignore): treat .gitignore as an ignore source (CodeGraphContext#1680) Anything git ignores is now ignored by the indexer, so a repository no longer needs a .cgcignore that restates its .gitignore. Patterns are layered defaults -> .gitignore -> .cgcignore. Matching is last-match-wins, so a negated pattern in .cgcignore can still bring a git-ignored path back into the graph. Fixes CodeGraphContext#729 Signed-off-by: Aloys Jehwin <[email protected]> * normalize module-node label to the plain filename in all render sites --------- Signed-off-by: Aloys Jehwin <[email protected]> Co-authored-by: Donovan Yohan <[email protected]> Co-authored-by: Aloys Jehwin <[email protected]> Co-authored-by: Shashank Shekhar Singh <[email protected]>
* fix: find functions by argument type * fix(jobs): serialize last update time in job responses (CodeGraphContext#1679) * fix(cli): explain embedded database lock conflicts (CodeGraphContext#1684) * fix(setup-wizard): stop replacing IDE settings that are JSONC (CodeGraphContext#1677) VS Code and its forks write settings.json as JSONC. json.load rejects comments and trailing commas, and the wizard treated that rejection as "no settings yet" before writing the file back, so a user's whole configuration was replaced by a lone mcpServers key. Parse JSONC before giving up, and if the file still cannot be parsed, leave it alone instead of overwriting it. Back up the file before writing either way, and say so when comments are present, since json.dump cannot preserve them. Fixes CodeGraphContext#660 Signed-off-by: Aloys Jehwin <[email protected]> * feat(cgcignore): treat .gitignore as an ignore source (CodeGraphContext#1680) Anything git ignores is now ignored by the indexer, so a repository no longer needs a .cgcignore that restates its .gitignore. Patterns are layered defaults -> .gitignore -> .cgcignore. Matching is last-match-wins, so a negated pattern in .cgcignore can still bring a git-ignored path back into the graph. Fixes CodeGraphContext#729 Signed-off-by: Aloys Jehwin <[email protected]> * fix(viz): display source filenames for synthetic module nodes (CodeGraphContext#1682) * fix(viz): display source filenames for synthetic module nodes * fix(jobs): serialize last update time in job responses (CodeGraphContext#1679) * fix(cli): explain embedded database lock conflicts (CodeGraphContext#1684) * fix(setup-wizard): stop replacing IDE settings that are JSONC (CodeGraphContext#1677) VS Code and its forks write settings.json as JSONC. json.load rejects comments and trailing commas, and the wizard treated that rejection as "no settings yet" before writing the file back, so a user's whole configuration was replaced by a lone mcpServers key. Parse JSONC before giving up, and if the file still cannot be parsed, leave it alone instead of overwriting it. Back up the file before writing either way, and say so when comments are present, since json.dump cannot preserve them. Fixes CodeGraphContext#660 Signed-off-by: Aloys Jehwin <[email protected]> * feat(cgcignore): treat .gitignore as an ignore source (CodeGraphContext#1680) Anything git ignores is now ignored by the indexer, so a repository no longer needs a .cgcignore that restates its .gitignore. Patterns are layered defaults -> .gitignore -> .cgcignore. Matching is last-match-wins, so a negated pattern in .cgcignore can still bring a git-ignored path back into the graph. Fixes CodeGraphContext#729 Signed-off-by: Aloys Jehwin <[email protected]> * normalize module-node label to the plain filename in all render sites --------- Signed-off-by: Aloys Jehwin <[email protected]> Co-authored-by: Donovan Yohan <[email protected]> Co-authored-by: Aloys Jehwin <[email protected]> Co-authored-by: Shashank Shekhar Singh <[email protected]> * fix the argument query so it filters f; behavioral pin on real kuzu --------- Signed-off-by: Aloys Jehwin <[email protected]> Co-authored-by: Donovan Yohan <[email protected]> Co-authored-by: Aloys Jehwin <[email protected]> Co-authored-by: Upanshi Mittal <[email protected]> Co-authored-by: Shashank Shekhar Singh <[email protected]>
…ontext#1689) parse_element classified relationships by class name, matching only Relationship/KuzuRelationship. FalkorDB's edge class is named Edge, so it matched no branch and every FalkorDB relationship was silently dropped — on the backend that is CGC's default on Unix under Python 3.12+. parse_rel directly below already reads FalkorDB edges correctly; it was never reached. The offline renderer in cli_helpers already classified by duck typing and handled this (CodeGraphContext#1453). Both renderers now share those predicates in utils/graph_shapes, so classification cannot drift apart again.
Shashankss1205
left a comment
There was a problem hiding this comment.
Verified on a local trial-merge. The security posture is right: SSL stays opt-in (no behavior change for existing setups), and when enabled it demands full verification — CERT_REQUIRED + hostname check on Cassandra's context, verify_mode: REQUIRED/ssl_verify_cert on both MySQL drivers — with no verification-disabling escape hatch. The dual-driver fallback, timeouts and DictCursor behavior all survive the rewrite intact.
Two additions pushed to your branch: the parameters are now reachable — --ssl-verify / --ssl-ca-certs on both cgc datasource mysql and cassandra commands (without which the feature was programmatic-only) — and driver-level tests pin the kwargs each client actually receives, including that ssl is absent by default. Full suite green (1457). Thanks @TrueFurina — addresses the SSL half of #1094.
The merge-base changed after approval.
Summary
Adds SSL connection support to the Cassandra and MySQL schema ingestors (#1094), so ingestion can establish secure sessions against corporate data instances instead of throwing connection errors.
Changes
src/codegraphcontext/tools/datasources/cassandra_ingester.py:ssl_verify: bool = Falseandssl_ca_certs: Optional[str] = Noneparameters oningest()ssl.SSLContext(system trust store, or explicit CA bundle) and passes it toCluster(..., ssl_context=...)whenssl_verifyis setsrc/codegraphcontext/tools/datasources/mysql_ingester.py:ingest()and_connect()ssldict; mysql-connector path passesssl_ca/ssl_verify_certBackward compatible: when
ssl_verifyis False (default), behavior is unchanged.Acceptance criteria
ssl_verify,ssl_ca_certs)