Skip to content

Conversation

amotl
Copy link
Member

@amotl amotl commented Oct 17, 2025

@amotl amotl added the cross linking Linking to different locations of the documentation. label Oct 17, 2025
@coderabbitai
Copy link

coderabbitai bot commented Oct 17, 2025

Walkthrough

Adds a new Crystal driver guide for connecting to CrateDB using the crystal-pg driver and updates the drivers index to include Crystal in the language grid and site navigation.

Changes

Cohort / File(s) Summary
New Crystal driver documentation
docs/connect/crystal.md
New page describing Crystal connectivity to CrateDB using the native non-blocking crystal-pg (built on crystal-db); includes shard.yml dependency snippet, shards install command, and an example.cr demonstrating connection, query, and result iteration against sys.summits.
Drivers index & navigation
docs/connect/index.md
Adds a Crystal entry to the "Drivers by language" grid (logo, link, accessibility text, padding/alignment/styling) and extends the drivers toctree to include crystal alongside existing language driver pages.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Suggested reviewers

  • kneth
  • surister
  • bmunkholm

Poem

🐰 A crystal shard in paw I bring,
New docs to make the connect bell ring,
From shard.yml to a query so sweet,
CrateDB and Crystal now happily meet! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description Check ❓ Inconclusive The pull request description states "What the title says" with a preview link. The PR title is "Driver: Add page about Crystal," and the changeset involves adding a new docs/connect/crystal.md documentation file and updating the index to include the Crystal driver. While the description is technically related to the changeset by referencing the title and providing a preview link, it is extremely vague and generic, offering no meaningful detail about what was actually changed or why. The description essentially deflects to the title rather than providing any substantive information about the documentation being added. To improve this pull request, consider adding a brief description that outlines what the new Crystal driver documentation covers, such as mentioning that it documents Crystal-based connectivity using the crystal-pg driver, includes setup instructions via shard.yml, and provides usage examples. Even a 1-2 sentence summary of the documentation's purpose and content would provide meaningful context for reviewers.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The pull request title "Driver: Add page about Crystal" directly and clearly summarizes the main change in the changeset. The modifications add a new Crystal driver documentation page (docs/connect/crystal.md) and update the index to include the Crystal driver in the drivers grid and table of contents. The title is concise, specific, and avoids vague language, making it clear to teammates what the primary change is about.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch crystal

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Comment on lines +49 to +60
:::{rubric} CrateDB Cloud
:::

For connecting to CrateDB Cloud, use `sslmode=require&auth_methods=cleartext`
parameters, and replace username, password and hostname with values matching
your environment.
```crystal
DB.open("postgres://admin:[email protected]:5432/doc?sslmode=require&auth_methods=cleartext")
```
Copy link
Member Author

@amotl amotl Oct 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Problem

When not permitting auth_methods=cleartext, the connection will fail, because cleartext is disabled by default.

Unhandled exception:  (DB::ConnectionRefused)
Caused by: server asked for disabled authentication method: cleartext (PQ::ConnectionError)

Background

By default this driver will accept scram-sha-256 and md5, as well as
trust. However cleartext is disabled by default. You can control exactly
which auth methods the client will accept by passing in a comma separated list
to the auth_methods parameter.

-- https://github.com/will/crystal-pg/blob/c5b8ac1ac5713fc58f974d8a4327887a0b297594/README.md?plain=1#L164-L169

Thoughts

Do you think it is applicable to report this to crate/crate, so it may possibly support md5 or scram-sha-256 in the future?

/cc @matriv, @seut

@amotl amotl added new content New content being added. and removed cross linking Linking to different locations of the documentation. labels Oct 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new content New content being added.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant