Skip to content

Conversation

amotl
Copy link
Member

@amotl amotl commented Aug 6, 2025

About

This patch adopts the whole integrate section from crate-clients-tools, so we can phase out the repository soon. This is exclusively a 1:1 refactoring operation in the spirit of getting closer to monorepo-state for the documentation-only documentation parts.

Preview

https://cratedb-guide--222.org.readthedocs.build/integrate/

Review

The content has been reviewed once upon a time already. Still, it doesn't hurt to receive additional eyeballs once again. We will collect relevant feedback for a future iteration. Thanks!

References

Copy link

coderabbitai bot commented Aug 6, 2025

Walkthrough

This update introduces and restructures extensive documentation content for CrateDB integrations with various data tools, frameworks, and platforms. It adds new integration pages, reorganizes navigation, consolidates learning resources, and streamlines existing documentation for better clarity and accessibility. All changes are limited to documentation content and structure.

Changes

Cohort / File(s) Change Summary
New Integration Docs
docs/integrate/apache-airflow/index.md, docs/integrate/apache-hop/index.md, docs/integrate/apache-kafka/index.md, docs/integrate/apache-nifi/index.md, docs/integrate/cluvio/index.md, docs/integrate/debezium/index.md, docs/integrate/explo/index.md, docs/integrate/grafana/index.md, docs/integrate/gradio/index.md, docs/integrate/kestra/index.md, docs/integrate/meltano/index.md, docs/integrate/metabase/index.md, docs/integrate/node-red/index.md, docs/integrate/plotly/index.md, docs/integrate/powerbi/index.md, docs/integrate/prometheus/index.md, docs/integrate/pyviz/index.md, docs/integrate/rill/index.md, docs/integrate/sql-server/index.md, docs/integrate/streamlit/index.md, docs/integrate/tableau/index.md, docs/integrate/telegraf/index.md
Added new documentation pages for integrations with Airflow, Hop, Kafka, NiFi, Cluvio, Debezium, Explo, Grafana, Gradio, Kestra, Meltano, Metabase, Node-RED, Plotly/Dash, Power BI, Prometheus, PyViz, Rill, SQL Server, Streamlit, Tableau, and Telegraf. Each page introduces the tool, describes integration with CrateDB, and provides learning resources.
Docs Navigation and Structure
docs/integrate/index.md, docs/integrate/etl/index.md, docs/integrate/bi/index.md, docs/integrate/visualize/index.md, docs/integrate/framework.md, docs/connect/index.md, docs/domain/index.md
Updated navigation, toctree entries, and section labels for clarity; consolidated and refactored links to point to new or centralized index pages; added a new "Frameworks" section.
DataFrame and ML Domain Docs
docs/connect/df/index.md, docs/connect/df/learn.md, docs/domain/ml/index.md
Restructured DataFrame integration docs, removed the old learn page, and expanded machine learning documentation with new sections, branding, and resource links.
Metrics and Monitoring Docs
docs/integrate/metrics/index.md
Retitled and reworded the metrics documentation; replaced inline links with toctree references for Prometheus and Telegraf.
Apache Flink Integration
docs/integrate/apache-flink/index.md, docs/_include/links.md
Updated Flink integration docs to include shared links and removed outdated external references; added a new Kafka-Flink-CrateDB example link.
Change Data Capture (CDC) Docs
docs/integrate/cdc/index.md
Simplified Debezium CDC documentation by replacing detailed content with a toctree reference to a dedicated Debezium page.

Sequence Diagram(s)

Not applicable: changes are documentation-only and do not introduce or modify control flow or executable features.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • surister
  • hammerhead

Poem

🐇
In burrows deep, I hop and write,
New docs to guide you through the night.
With Kafka, Flink, and dashboards bright,
Airflow, BI, and metrics in sight.
Hop along this learning spree—
Integration joy for you and me!
📚✨

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch clients-tools-adopt-integrations

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

‼️ IMPORTANT
Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged.

  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@amotl amotl changed the title Integrate: Migrate pages from crate-clients-tools, to be retired soon Integrate: Migrate pages from crate-clients-tools, to be retired soon Aug 6, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 20

🔭 Outside diff range comments (2)
docs/integrate/etl/index.md (1)

14-17: Missing visible link text for CDC reference

[](#cdc) renders as an empty anchor link. Readers (and screen-readers) see no descriptive text, breaking accessibility and clarity.

-Please also have a look at support for [](#cdc) solutions.
+Please also have a look at support for [Change Data Capture (CDC)](#cdc) solutions.
docs/domain/ml/index.md (1)

52-55: Undefined reference [Vector Database]

A link reference is used but not defined in the reference list, resulting in a broken link.

+[Vector Database]: https://en.wikipedia.org/wiki/Vector_database

Insert near the bottom with the other reference definitions.

🧹 Nitpick comments (31)
docs/connect/index.md (1)

154-156: Use canonical “DataFrame” capitalization in the navigation label

All other occurrences in the docs (and the library itself) use “DataFrame”.
Keeping the spelling consistent makes the navigation look more polished.

-Dataframe libraries <df/index>
+DataFrame libraries <df/index>
docs/connect/df/index.md (2)

7-7: Capitalize “DataFrame” in the intro sentence

-How to use CrateDB together with popular open-source dataframe libraries.
+How to use CrateDB together with popular open-source DataFrame libraries.

86-86: Drop the superfluous back-slash before the colon

The escape isn’t needed in MyST/Markdown and will render a literal “\”.

-[From data storage to data analysis\: Tutorial on CrateDB and pandas]
+[From data storage to data analysis: Tutorial on CrateDB and pandas]
docs/integrate/meltano/index.md (1)

9-12: Add descriptive alt text to all embedded images.

Images rendered with an empty alt attribute (![](...)) violate accessibility guidelines and trigger markdownlint MD045. Add concise alt text so screen-reader users understand the content.

-[![](https://www.singer.io/img/singer_logo_full_black.svg){w=180px}](https://www.singer.io/)
-
-[![](https://github.com/crate/crate-clients-tools/assets/453543/0c01e995-d7c2-4a4d-8e90-c6697fe2a85d){w=180px}](https://meltano.com/)
+[![Singer logo](https://www.singer.io/img/singer_logo_full_black.svg){w=180px}](https://www.singer.io/)
+
+[![Meltano logo](https://github.com/crate/crate-clients-tools/assets/453543/0c01e995-d7c2-4a4d-8e90-c6697fe2a85d){w=180px}](https://meltano.com/)
docs/integrate/telegraf/index.md (2)

9-10: Provide alt text for the Telegraf logo.

Same MD045 issue as above – add a short description of the image.

-[![](https://github.com/crate/crate-clients-tools/assets/453543/3f0b4525-5344-42fe-bae6-1b0970fa0540){w=180px}](https://www.influxdata.com/time-series-platform/telegraf/)
+[![Telegraf logo](https://github.com/crate/crate-clients-tools/assets/453543/3f0b4525-5344-42fe-bae6-1b0970fa0540){w=180px}](https://www.influxdata.com/time-series-platform/telegraf/)

34-35: Add alt text to the overview diagram.

-![](https://www.influxdata.com/wp-content/uploads/Main-Diagram_06.01.2022v1.png){h=200px}
+![InfluxData Telegraf ecosystem diagram](https://www.influxdata.com/wp-content/uploads/Main-Diagram_06.01.2022v1.png){h=200px}
docs/integrate/apache-airflow/index.md (2)

11-14: Alt text missing for Airflow & Astronomer logos.

-[![](https://19927462.fs1.hubspotusercontent-na1.net/hub/19927462/hubfs/Partner%20Logos/392x140/Apache-Airflow-Logo-392x140.png?width=784&height=280&name=Apache-Airflow-Logo-392x140.png){w=180px}](https://airflow.apache.org/)
-
-[![](https://logowik.com/content/uploads/images/astronomer2824.jpg){w=180px}](https://www.astronomer.io/)
+[![Apache Airflow logo](https://19927462.fs1.hubspotusercontent-na1.net/hub/19927462/hubfs/Partner%20Logos/392x140/Apache-Airflow-Logo-392x140.png?width=784&height=280&name=Apache-Airflow-Logo-392x140.png){w=180px}](https://airflow.apache.org/)
+
+[![Astronomer logo](https://logowik.com/content/uploads/images/astronomer2824.jpg){w=180px}](https://www.astronomer.io/)

40-41: Duplicate image also needs alt text.

-[![](https://logowik.com/content/uploads/images/astronomer2824.jpg){w=180px}](https://www.astronomer.io/)
+[![Astronomer logo](https://logowik.com/content/uploads/images/astronomer2824.jpg){w=180px}](https://www.astronomer.io/)
docs/integrate/index.md (1)

15-21: Minor ordering consistency for TOC entries.

Most categories use title-case nouns (“Monitoring and Metrics”, “Data Visualization”). For consistency, consider capitalizing “Frameworks” in the same style or ordering the entry alphabetically.

This is purely cosmetic, feel free to ignore if the current ordering is intentional.

docs/integrate/apache-flink/index.md (1)

197-209: Consider removing duplicated local link definitions

A subset of link footnotes ([Aiven], [JdbcSink], …) remains in this file even though most links are now provided by the shared include. Keeping duplicates is harmless but clutters the page and can cause “duplicate citation” warnings in Sphinx.

Diff sketch:

- [Aiven]: https://aiven.io/
- ...
- [JdbcSink]: https://nightlies.apache.org/...

Unless a link is intentionally different from the central one, deleting the redundant local definitions will keep the source tidy.

docs/integrate/gradio/index.md (1)

4-7: Provide meaningful alt-text for the Gradio logo

The image uses an empty alt attribute (![](...)). Add descriptive alt-text to improve accessibility and satisfy MD045.

-[![](https://raw.githubusercontent.com/gradio-app/gradio/main/readme_files/gradio.svg){w=180px}]
+[![Gradio logo](https://raw.githubusercontent.com/gradio-app/gradio/main/readme_files/gradio.svg){w=180px}]
docs/integrate/debezium/index.md (3)

15-23: Duplicate “About” paragraphs—condense to a single description

Lines 15-17 and 20-23 repeat essentially the same information. Consolidating them improves readability and avoids maintenance drift.


10-12: Add descriptive alt-text to Debezium logo

The logo image currently has an empty alt field; insert meaningful text to satisfy accessibility rules.

-[![](https://debezium.io/assets/images/color_white_debezium_type_600px.svg){w=180px}]
+[![Debezium logo](https://debezium.io/assets/images/color_white_debezium_type_600px.svg){w=180px}]

16-16: Style nit: replace “are able to subscribe” with cheaper “can subscribe”

Minor phrasing improvement flagged by LanguageTool.

-… you are able to subscribe to the event stream …
+… you can subscribe to the event stream …
docs/integrate/cluvio/index.md (1)

22-23: Screenshots lack alt-text

Both dashboard screenshots have empty alt attributes. Add descriptive alt text for accessibility and MD045 compliance.

-![](…custom-filters.png){h=200px}
+![Cluvio custom filter screenshot](…custom-filters.png){h=200px}

-![](…report-creator.png){h=200px}
+![Cluvio report creator screenshot](…report-creator.png){h=200px}
docs/integrate/rill/index.md (1)

42-43: Provide alt-text for the two illustrative images

MD045 flags these lines. Supply concise, descriptive alt strings.

-![](https://…/b2a470f529fc0f7d9b66de4d75742674.gif){h=200px}
+![Animated preview of Rill dashboard](https://…/b2a470f529fc0f7d9b66de4d75742674.gif){h=200px}

-![](https://…/BI-as-code%20(1)-p-3200.webp){h=200px}
+![“BI as Code” concept diagram](https://…/BI-as-code%20(1)-p-3200.webp){h=200px}
docs/integrate/powerbi/index.md (1)

24-27: Images are missing alt-text

Add descriptive alt attributes to the three Power BI screenshots to satisfy accessibility linting.

-![](…/powerbi-table-navigator.png){h=160px}
+![Power BI table navigator screenshot](…/powerbi-table-navigator.png){h=160px}

(Repeat for the other two images.)

docs/integrate/tableau/index.md (1)

21-24: Minor grammar / formatting issue in bullet

“setting it Tableau correctly” → “setting up Tableau correctly”.
Also split the two guides into separate list items for clarity.

-- [Connecting to CrateDB from Tableau with JDBC] and [Using CrateDB with Tableau]
-  will guide you through the process of setting it Tableau correctly with CrateDB.
+- [Connecting to CrateDB from Tableau with JDBC] – how to configure the JDBC
+  connection.
+- [Using CrateDB with Tableau] – step-by-step guide to set up Tableau correctly
+  with CrateDB.
docs/integrate/streamlit/index.md (1)

29-29: Unused reference definition “Hugging Face” (MD053)

The link reference is defined but never used. Either reference it somewhere in the text or remove the definition to silence markdown-lint.

-[Hugging Face]: https://en.wikipedia.org/wiki/Hugging_Face
docs/integrate/plotly/index.md (1)

9-12: Ensure images carry alt-text and remove wordiness flagged by LanguageTool

Add alt text:

-[![](…8b679c0b…){w=180px}]
+[![Plotly logo](…8b679c0b…){w=180px}]
![Plotly chart example](…380114a8…)
![Dash UI example](…f6a99ae7…)

Language tweak (Line 68):

-…services, in order to deliver faster…
+…services, to deliver faster…

This addresses both MD045 and IN_ORDER_TO_PREMIUM style issues.

Also applies to: 27-28, 36-37, 53-55

docs/integrate/sql-server/index.md (2)

9-12: Add descriptive alt-text for logo images

The two embedded logo images don’t provide any alt-text (![](...)). Screen-reader users will get an empty string, which is an accessibility regression and violates the project’s doc-style guide.

-[![](https://github.com/...b03f4){w=180px}](https://www.microsoft.com/)
+[![Microsoft logo](https://github.com/...b03f4){w=180px}](https://www.microsoft.com/)

-[![](https://github.com/...ed338){w=180px}](https://learn.microsoft.com/en-us/sql/)
+[![SQL Server logo](https://github.com/...ed338){w=180px}](https://learn.microsoft.com/en-us/sql/)

Check for similar missing alt-text across migrated pages.


14-18: Minor syntax glitch in reference formatting

Microsoft [SQL Server Integration Services] (SSIS) renders an unwanted space before the parenthesis.
Replace with standard prose to avoid a dangling link reference:

-Microsoft [SQL Server Integration Services] (SSIS) is
+Microsoft [SQL Server Integration Services] (SSIS) is
docs/integrate/kestra/index.md (2)

8-10: Provide alt-text for the Kestra logo

Add a short alt description for accessibility and better search indexing.

-[![](https://kestra.io/logo.svg){w=180px}](https://kestra.io/)
+[![Kestra logo](https://kestra.io/logo.svg){w=180px}](https://kestra.io/)

25-28: Feature illustrations missing alt-text

All three SVG feature illustrations (declarative1.svg, flowable.svg, monitor.svg) omit alt-text. Either add descriptive alt-text or mark them as purely decorative with alt="" to satisfy WCAG.

docs/integrate/visualize/index.md (1)

1-3: Potential duplicate anchor labels

You declare both (visualize)= and (visualization)= on consecutive lines.
MyST-Parser allows multiple explicit targets, but duplicate usage sometimes triggers “duplicate label” warnings in older Sphinx versions or when referenced from other pages.

Please double-check that both labels are required; otherwise drop one to keep the build warning-free.

docs/integrate/apache-kafka/index.md (2)

10-13: Missing alt-text for Kafka logo

Same accessibility issue as in other pages:

-[![](https://kafka.apache.org/logos/kafka_logo--simple.png){w=180px}](https://kafka.apache.org/)
+[![Apache Kafka logo](https://kafka.apache.org/logos/kafka_logo--simple.png){w=180px}](https://kafka.apache.org/)

20-30: Style hint: avoid first-person “we”

The dropdown text uses “We can't list them all…”.
For neutral technical docs prefer impersonal phrasing:

-A few companies are specializing in offering managed Kafka services. We can't list
-them all, see the [overview about more managed Kafka offerings].
+Several companies provide managed Kafka services (see the [overview of additional offerings] for a more complete list).
docs/integrate/pyviz/index.md (4)

16-19: Logos need alt-text

Add alt descriptions for hvPlot and Datashader logos.


28-31: Prefer “large datasets” over “very large data”

The intensifier “very” is flagged by LanguageTool. Simplify wording:

-visualize and interactively explore very large data,
+visualize and interactively explore large datasets,

48-50: Raw HTML <iframe> might be blocked during build

Some Sphinx configurations (including Read the Docs default) disable raw HTML for security, resulting in a build warning or the iframe being stripped.
Consider using the MyST html directive or a {embed} extension if enabled, e.g.:

```{iframe} https://www.youtube-nocookie.com/embed/eWpVUPHrCIA
:width: 480
:height: 320
:allow: accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share
:allowfullscreen:

Verify your `conf.py` permits `myst_enable_extensions = ["html_admonition", "html_image", "colon_fence", "attrs_block", "attrs_inline"]` or the `iframe` directive.

---

`44-46`: **Add alt-text for screenshot images**

Provide meaningful alt text or mark decorative:

```diff
-![](https://github.com/crate/...9c4b){h=200px}
-![](https://github.com/crate/...e40579){h=200px}
+![hvPlot timeseries demo](https://github.com/crate/...9c4b){h=200px}
+![Panel dashboard demo](https://github.com/crate/...e40579){h=200px}
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dbc8597 and 2118cb4.

📒 Files selected for processing (36)
  • docs/_include/links.md (1 hunks)
  • docs/connect/df/index.md (5 hunks)
  • docs/connect/df/learn.md (0 hunks)
  • docs/connect/index.md (1 hunks)
  • docs/domain/index.md (1 hunks)
  • docs/domain/ml/index.md (5 hunks)
  • docs/integrate/apache-airflow/index.md (1 hunks)
  • docs/integrate/apache-flink/index.md (1 hunks)
  • docs/integrate/apache-hop/index.md (1 hunks)
  • docs/integrate/apache-kafka/index.md (1 hunks)
  • docs/integrate/apache-nifi/index.md (1 hunks)
  • docs/integrate/bi/index.md (1 hunks)
  • docs/integrate/cdc/index.md (1 hunks)
  • docs/integrate/cluvio/index.md (1 hunks)
  • docs/integrate/debezium/index.md (1 hunks)
  • docs/integrate/etl/index.md (6 hunks)
  • docs/integrate/explo/index.md (1 hunks)
  • docs/integrate/framework.md (1 hunks)
  • docs/integrate/gradio/index.md (1 hunks)
  • docs/integrate/grafana/index.md (1 hunks)
  • docs/integrate/index.md (1 hunks)
  • docs/integrate/kestra/index.md (1 hunks)
  • docs/integrate/meltano/index.md (1 hunks)
  • docs/integrate/metabase/index.md (1 hunks)
  • docs/integrate/metrics/index.md (1 hunks)
  • docs/integrate/node-red/index.md (1 hunks)
  • docs/integrate/plotly/index.md (1 hunks)
  • docs/integrate/powerbi/index.md (1 hunks)
  • docs/integrate/prometheus/index.md (1 hunks)
  • docs/integrate/pyviz/index.md (1 hunks)
  • docs/integrate/rill/index.md (1 hunks)
  • docs/integrate/sql-server/index.md (1 hunks)
  • docs/integrate/streamlit/index.md (1 hunks)
  • docs/integrate/tableau/index.md (1 hunks)
  • docs/integrate/telegraf/index.md (1 hunks)
  • docs/integrate/visualize/index.md (1 hunks)
💤 Files with no reviewable changes (1)
  • docs/connect/df/learn.md
🧰 Additional context used
🧠 Learnings (7)
📓 Common learnings
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:22-33
Timestamp: 2025-05-18T12:50:36.393Z
Learning: In the CrateDB Guide repository, the prefix `ctk:` in documentation links (like `ctk:query/mcp/server`) is an intersphinx reference that points to external content in the CrateDB Toolkit documentation at https://cratedb-toolkit.readthedocs.io/. These references are intentionally not pointing to local files within the repository.
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:6-8
Timestamp: 2025-05-18T13:25:11.786Z
Learning: In the CrateDB Guide documentation, particularly for MCP-related pages, the author prefers a 1-column grid layout for multiple cards to stack them vertically rather than side by side, as this is an intentional design choice.
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:8-20
Timestamp: 2025-05-18T12:50:38.681Z
Learning: In the CrateDB guide repository, references with the `ctk:` prefix (like `ctk:query/mcp/landscape`) are intersphinx references that link to resources in the cratedb-toolkit repository (https://github.com/crate/cratedb-toolkit/tree/main/doc), which are rendered at https://cratedb-toolkit.readthedocs.io/. These are valid cross-references between separate Sphinx documentation sets, not local file references.
📚 Learning: in the cratedb guide repository, references with the `ctk:` prefix (like `ctk:query/mcp/landscape`) ...
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:8-20
Timestamp: 2025-05-18T12:50:38.681Z
Learning: In the CrateDB guide repository, references with the `ctk:` prefix (like `ctk:query/mcp/landscape`) are intersphinx references that link to resources in the cratedb-toolkit repository (https://github.com/crate/cratedb-toolkit/tree/main/doc), which are rendered at https://cratedb-toolkit.readthedocs.io/. These are valid cross-references between separate Sphinx documentation sets, not local file references.

Applied to files:

  • docs/_include/links.md
  • docs/integrate/metrics/index.md
  • docs/connect/index.md
  • docs/integrate/cdc/index.md
  • docs/integrate/bi/index.md
  • docs/integrate/etl/index.md
  • docs/integrate/apache-flink/index.md
  • docs/integrate/metabase/index.md
  • docs/integrate/framework.md
  • docs/integrate/grafana/index.md
  • docs/integrate/visualize/index.md
  • docs/domain/ml/index.md
  • docs/connect/df/index.md
📚 Learning: in the cratedb guide repository, the prefix `ctk:` in documentation links (like `ctk:query/mcp/serve...
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:22-33
Timestamp: 2025-05-18T12:50:36.393Z
Learning: In the CrateDB Guide repository, the prefix `ctk:` in documentation links (like `ctk:query/mcp/server`) is an intersphinx reference that points to external content in the CrateDB Toolkit documentation at https://cratedb-toolkit.readthedocs.io/. These references are intentionally not pointing to local files within the repository.

Applied to files:

  • docs/_include/links.md
  • docs/integrate/metrics/index.md
  • docs/connect/index.md
  • docs/integrate/cdc/index.md
  • docs/integrate/bi/index.md
  • docs/integrate/etl/index.md
  • docs/integrate/apache-flink/index.md
  • docs/integrate/metabase/index.md
  • docs/integrate/framework.md
  • docs/integrate/grafana/index.md
  • docs/integrate/visualize/index.md
  • docs/domain/ml/index.md
  • docs/integrate/apache-kafka/index.md
📚 Learning: in cratedb connection strings, the user:password@ syntax is valid for http basic authentication on p...
Learnt from: hammerhead
PR: crate/cratedb-guide#221
File: docs/connect/configure.md:58-66
Timestamp: 2025-08-05T07:14:57.416Z
Learning: In CrateDB connection strings, the user:password@ syntax is valid for HTTP Basic authentication on port 4200, but PostgreSQL JDBC drivers do not support this format and require credentials as query parameters (?user=<user>&password=<password>) instead.

Applied to files:

  • docs/integrate/apache-flink/index.md
📚 Learning: in the cratedb guide documentation, particularly for mcp-related pages, the author prefers a 1-colum...
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:6-8
Timestamp: 2025-05-18T13:25:11.786Z
Learning: In the CrateDB Guide documentation, particularly for MCP-related pages, the author prefers a 1-column grid layout for multiple cards to stack them vertically rather than side by side, as this is an intentional design choice.

Applied to files:

  • docs/integrate/metabase/index.md
  • docs/integrate/framework.md
  • docs/integrate/visualize/index.md
  • docs/connect/df/index.md
📚 Learning: in myst markdown, the correct syntax for rubric directives in the cratedb documentation is: ``` :::{...
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/cratedb-mcp.md:3-8
Timestamp: 2025-05-18T13:39:58.391Z
Learning: In MyST Markdown, the correct syntax for rubric directives in the CrateDB documentation is:
```
:::{rubric} Title
:::
```
followed by the content outside of the directive. This is different from other admonition blocks where content is typically wrapped inside the directive.

Applied to files:

  • docs/domain/ml/index.md
  • docs/connect/df/index.md
📚 Learning: rubric directives (`{rubric}` and `:::{rubric}`) are correct and valid myst markdown syntax for crea...
Learnt from: amotl
PR: crate/cratedb-guide#0
File: :0-0
Timestamp: 2025-06-06T08:46:34.552Z
Learning: Rubric directives (`{rubric}` and `:::{rubric}`) are correct and valid MyST Markdown syntax for creating informal headings.

Applied to files:

  • docs/connect/df/index.md
🪛 markdownlint-cli2 (0.17.2)
docs/_include/links.md

22-22: Link and image reference definitions should be needed
Unused link or image reference definition: "executable stack with apache kafka, apache flink, and cratedb"

(MD053, link-image-reference-definitions)

docs/integrate/apache-hop/index.md

26-26: Images should have alternate text (alt text)

(MD045, no-alt-text)


27-27: Images should have alternate text (alt text)

(MD045, no-alt-text)


28-28: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/rill/index.md

42-42: Images should have alternate text (alt text)

(MD045, no-alt-text)


43-43: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/etl/index.md

26-26: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/metabase/index.md

27-27: Images should have alternate text (alt text)

(MD045, no-alt-text)


28-28: Images should have alternate text (alt text)

(MD045, no-alt-text)


53-53: Images should have alternate text (alt text)

(MD045, no-alt-text)


54-54: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/framework.md

24-24: Images should have alternate text (alt text)

(MD045, no-alt-text)


25-25: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/apache-nifi/index.md

27-27: Images should have alternate text (alt text)

(MD045, no-alt-text)


28-28: Images should have alternate text (alt text)

(MD045, no-alt-text)


29-29: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/streamlit/index.md

29-29: Link and image reference definitions should be needed
Unused link or image reference definition: "hugging face"

(MD053, link-image-reference-definitions)

docs/integrate/plotly/index.md

24-24: Images should have alternate text (alt text)

(MD045, no-alt-text)


25-25: Images should have alternate text (alt text)

(MD045, no-alt-text)


26-26: Images should have alternate text (alt text)

(MD045, no-alt-text)


44-44: Link and image reference definitions should be needed
Unused link or image reference definition: "cratedb and power bi"

(MD053, link-image-reference-definitions)

docs/integrate/grafana/index.md

62-62: Link and image reference definitions should be needed
Unused link or image reference definition: "cratedb and grafana"

(MD053, link-image-reference-definitions)


66-66: Link fragments should be valid

(MD051, link-fragments)


66-66: Link and image reference definitions should be needed
Unused link or image reference definition: "using grafana with cratedb cloud"

(MD053, link-image-reference-definitions)

docs/integrate/prometheus/index.md

44-44: Images should have alternate text (alt text)

(MD045, no-alt-text)


45-45: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/telegraf/index.md

15-15: Images should have alternate text (alt text)

(MD045, no-alt-text)


33-33: Link and image reference definitions should be needed
Unused link or image reference definition: "cratedb and tableau"

(MD053, link-image-reference-definitions)

docs/integrate/apache-airflow/index.md

17-17: Link fragments should be valid

(MD051, link-fragments)


54-54: Link fragments should be valid

(MD051, link-fragments)

docs/integrate/node-red/index.md

24-24: Images should have alternate text (alt text)

(MD045, no-alt-text)


25-25: Images should have alternate text (alt text)

(MD045, no-alt-text)


26-26: Images should have alternate text (alt text)

(MD045, no-alt-text)


44-44: Link and image reference definitions should be needed
Unused link or image reference definition: "cratedb and power bi"

(MD053, link-image-reference-definitions)

🪛 LanguageTool
docs/integrate/powerbi/index.md

[style] ~21-~21: Consider a more concise word here.
Context: ...it possible to publish your dashboards, in order to share them with others. [](inv:guide#po...

(IN_ORDER_TO_PREMIUM)

docs/integrate/plotly/index.md

[style] ~68-~68: Consider a more concise word here.
Context: ...uch as authentication and VPC services, in order to deliver faster and more impactful busin...

(IN_ORDER_TO_PREMIUM)

docs/integrate/apache-airflow/index.md

[style] ~17-~17: Consider a more concise word here.
Context: ...w services on the cloud of your choice, in order to run Airflow with less overhead. Airflo...

(IN_ORDER_TO_PREMIUM)


[style] ~44-~44: It might be better to use ‘time’ with the time-relative pronoun ‘when’. (Alternatively, use ‘in/on which’.)
Context: ...n any step of their data journey. Spend time where it counts. - Astro runs on the cloud o...

(WHEN_WHERE)

docs/integrate/debezium/index.md

[style] ~16-~16: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...fter pointing it at your databases, you are able to subscribe to the event stream of all da...

(BE_ABLE_TO)

docs/integrate/pyviz/index.md

[style] ~36-~36: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...can visualize and interactively explore very large data, and with [GeoViews], you can crea...

(EN_WEAK_ADJECTIVE)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build docs
🔇 Additional comments (7)
docs/_include/links.md (1)

22-22: Link usage verified – the link definition is referenced in the documentation and should be kept:

• docs/integrate/apache-flink/index.md
• docs/integrate/apache-kafka/index.md

docs/domain/index.md (1)

24-27: Explicit title in toctree entry looks good

Replacing the bare ml/index reference with Machine Learning <ml/index> improves navigation clarity without affecting the build. No further action required.

docs/integrate/apache-flink/index.md (2)

5-6: Centralizing link definitions is sensible

Including /_include/links.md keeps link references DRY and easier to maintain.


40-45: Verify that link labels now resolve via /_include/links.md

[PostgreSQL JDBC Driver] is referenced here, and
[Executable stack with Apache Kafka, Apache Flink, and CrateDB] is referenced further below (Line 132). After moving link definitions to the shared include, make sure both labels exist in docs/_include/links.md; otherwise the build will raise “unknown target name” errors.

docs/integrate/cdc/index.md (1)

57-63: Debezium section refactor LGTM

Replacing the inline Debezium description with a toctree keeps the CDC overview concise and pushes details to the dedicated page—good move.

docs/integrate/metrics/index.md (1)

1-28: Clearer structure for metrics integrations

The rewrite introduces focused toctrees for Prometheus and Telegraf and a more precise title. This improves readability and maintainability.

docs/integrate/bi/index.md (1)

11-34: BI integration index looks tidy

Grouping each tool under its own toctree keeps the page concise and scales well as content grows.

@amotl amotl force-pushed the clients-tools-adopt-integrations branch from 2118cb4 to e352c53 Compare August 6, 2025 02:05
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

♻️ Duplicate comments (12)
docs/domain/ml/index.md (3)

68-72: Add descriptive alt text for the MLflow logo

The image reference lacks alt text, which breaks WCAG 2.1 accessibility requirements and was already raised in an earlier review.

-[![](https://github.com/crate/crate-clients-tools/assets/453543/d1d4f4ac-1b44-46b8-ba6f-4a82607c57d3){w=180px}](https://mlflow.org/)
+![MLflow logo](https://github.com/crate/crate-clients-tools/assets/453543/d1d4f4ac-1b44-46b8-ba6f-4a82607c57d3){w=180px}](https://mlflow.org/)

138-142: Add descriptive alt text for the PyCaret logo

Same accessibility issue as before: no alt text provided.

-[![](https://github.com/crate/crate-clients-tools/assets/453543/b17a59e2-6801-4f53-892f-ff472491095f){w=180px}](https://pycaret.org/)
+![PyCaret logo](https://github.com/crate/crate-clients-tools/assets/453543/b17a59e2-6801-4f53-892f-ff472491095f){w=180px}](https://pycaret.org/)

235-242: Add alt text for scikit-learn, pandas, and Jupyter logos

The three inline images are still missing alt attributes, repeating the earlier accessibility finding.

-[![](https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Scikit_learn_logo_small.svg/240px-Scikit_learn_logo_small.svg.png){w=180px}](https://scikit-learn.org/)
-
-[![](https://pandas.pydata.org/static/img/pandas.svg){w=180px}](https://pandas.pydata.org/)
-
-[![](https://jupyter.org/assets/logos/rectanglelogo-greytext-orangebody-greymoons.svg){w=180px}](https://jupyter.org/)
+![scikit-learn logo](https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Scikit_learn_logo_small.svg/240px-Scikit_learn_logo_small.svg.png){w=180px}](https://scikit-learn.org/)
+
+![pandas logo](https://pandas.pydata.org/static/img/pandas.svg){w=180px}](https://pandas.pydata.org/)
+
+![Jupyter logo](https://jupyter.org/assets/logos/rectanglelogo-greytext-orangebody-greymoons.svg){w=180px}](https://jupyter.org/)
docs/integrate/prometheus/index.md (2)

9-10: Alt-text still missing for the Prometheus logo – duplicate of earlier feedback
The logo image does not provide alternative text, violating MD045 and accessibility guidelines.


44-45: Alt-text still missing for the integration diagram – duplicate of earlier feedback
The diagram needs a descriptive alt attribute so screen-reader users understand its purpose.

docs/integrate/explo/index.md (2)

9-10: Logo image still lacks alt text – duplicate
Please add an alt attribute such as “Explo logo”.


24-26: Screenshot alt text still missing – duplicate
Both dashboard screenshots need descriptive alt text for accessibility compliance.

docs/integrate/tableau/index.md (2)

9-10: Add alt text to the Tableau logo – duplicate
Replace the empty alt with something descriptive (e.g., “Tableau logo”).


15-16: Add alt text to the Tableau screenshot – duplicate
Provide a short description such as “Tableau dashboard example”.

docs/integrate/grafana/index.md (3)

7-10: Add descriptive alt-text to the logo image

The image reference still has an empty alt attribute, which was already pointed out in the prior review.
Adding meaningful alt-text improves accessibility and resolves MD045.

-[![](https://cratedb.com/hs-fs/hubfs/Imported_Blog_Media/grafana-logo-1-520x126.png?width=1040&height=252&name=grafana-logo-1-520x126.png){w=180px}](https://grafana.com/grafana/)
+[![Grafana logo](https://cratedb.com/hs-fs/hubfs/Imported_Blog_Media/grafana-logo-1-520x126.png?width=1040&height=252&name=grafana-logo-1-520x126.png){w=180px}](https://grafana.com/grafana/)

23-24: Screenshots need alt-text

Both inline screenshots lack alt-text, triggering MD045 and harming screen-reader usability.

-![image](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/grafana/grafana-connection.png){h=200px}
-![image](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/grafana/grafana-panel1.png){h=200px}
+![Grafana data-source configuration](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/grafana/grafana-connection.png){h=200px}
+![Grafana dashboard panel](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/grafana/grafana-panel1.png){h=200px}

29-31: Repeated logo also missing alt-text

Same accessibility issue as above.

-[![](https://cratedb.com/hs-fs/hubfs/Imported_Blog_Media/grafana-logo-1-520x126.png?width=1040&height=252&name=grafana-logo-1-520x126.png){w=180px}](https://grafana.com/grafana/)
+[![Grafana logo](https://cratedb.com/hs-fs/hubfs/Imported_Blog_Media/grafana-logo-1-520x126.png?width=1040&height=252&name=grafana-logo-1-520x126.png){w=180px}](https://grafana.com/grafana/)
🧹 Nitpick comments (13)
docs/integrate/powerbi/index.md (2)

9-10: Add descriptive alt text to the Power BI logo
Replace the empty alt attribute with something like “Power BI logo” to satisfy MD045.

-[![](https://upload.wikimedia.org/...svg.png?20200923233425){w=180px}](https://powerbi.microsoft.com/en-us/desktop/)
+[![Power BI logo](https://upload.wikimedia.org/...svg.png?20200923233425){w=180px}](https://powerbi.microsoft.com/en-us/desktop/)

24-27: Provide alt text for the three screenshots

-![](https://.../powerbi-table-navigator.png){h=160px}
-![](https://.../powerbi-pie-chart.png){h=160px}
-![](https://.../powerbi-publish-success.png){h=160px}
+![Power BI table navigator](https://.../powerbi-table-navigator.png){h=160px}
+![Power BI pie-chart example](https://.../powerbi-pie-chart.png){h=160px}
+![Power BI publish success dialog](https://.../powerbi-publish-success.png){h=160px}
docs/integrate/metabase/index.md (3)

5-6: Logo missing alt text
Add an alt attribute, for example “Metabase logo”, to comply with MD045.

-[![](https://www.metabase.com/images/logo.svg){w=180px}](https://www.metabase.com/cloud/)
+[![Metabase logo](https://www.metabase.com/images/logo.svg){w=180px}](https://www.metabase.com/cloud/)

15-16: Generic “image” alt text is uninformative
Replace the placeholder with meaningful descriptions, e.g., “Metabase question view” and “Metabase dashboard view”.

-![image](...metabase-question.png){h=140px}
-![image](...metabase-dashboard.png){h=140px}
+![Metabase question view](...metabase-question.png){h=140px}
+![Metabase dashboard view](...metabase-dashboard.png){h=140px}

22-23: Second logo duplicated without alt text
The logo rendered inside the dropdown also needs alt text for screen-reader users.

docs/integrate/grafana/index.md (1)

62-66: Drop unused or broken reference definition

[Using Grafana with CrateDB Cloud] is defined but never referenced and MD053/MD051 complain about the fragment #integrations-grafana.
Unless you plan to link to this anchor soon, remove the definition to silence the linter.

-[Using Grafana with CrateDB Cloud]: #integrations-grafana
docs/integrate/pyviz/index.md (2)

14-20: Add alt-text to hvPlot & Datashader logos

The two logos are rendered without alt-text, violating MD045.

-[![](https://hvplot.holoviz.org/_static/logo_horizontal.svg){w=220px}](https://hvplot.holoviz.org/)
-
-[![](https://datashader.org/_static/logo_horizontal.svg){w=220px}](https://datashader.org/)
+[![hvPlot logo](https://hvplot.holoviz.org/_static/logo_horizontal.svg){w=220px}](https://hvplot.holoviz.org/)
+
+[![Datashader logo](https://datashader.org/_static/logo_horizontal.svg){w=220px}](https://datashader.org/)

44-46: Provide alt-text for the screenshots

Add concise descriptions so screen-reader users know what each image shows.

-![](https://github.com/crate/crate-clients-tools/assets/453543/7f38dff6-04bc-429e-9d31-6beeb9289c4b){h=200px}
-![](https://github.com/crate/crate-clients-tools/assets/453543/23561a87-fb4f-4154-9891-1b3068e40579){h=200px}
+![hvPlot interactive scatter](https://github.com/crate/crate-clients-tools/assets/453543/7f38dff6-04bc-429e-9d31-6beeb9289c4b){h=200px}
+![Datashader timeseries aggregation](https://github.com/crate/crate-clients-tools/assets/453543/23561a87-fb4f-4154-9891-1b3068e40579){h=200px}
docs/integrate/plotly/index.md (5)

9-13: Logo image missing alt-text

Same accessibility concern as other pages.

-[![](https://github.com/crate/crate-clients-tools/assets/453543/8b679c0b-2740-4dcc-88f0-1106aee7fa95){w=180px}](https://plotly.com/)
+[![Plotly logo](https://github.com/crate/crate-clients-tools/assets/453543/8b679c0b-2740-4dcc-88f0-1106aee7fa95){w=180px}](https://plotly.com/)

27-28: Add alt-text to screenshots

-![](https://github.com/crate/crate-clients-tools/assets/453543/380114a8-7984-4966-929b-6e6d52ddd48a){h=200px}
-![](https://github.com/crate/crate-clients-tools/assets/453543/f6a99ae7-b730-4587-bd23-499e1be02c92){h=200px}
+![Plotly line-chart example](https://github.com/crate/crate-clients-tools/assets/453543/380114a8-7984-4966-929b-6e6d52ddd48a){h=200px}
+![Plotly interactive dashboard](https://github.com/crate/crate-clients-tools/assets/453543/f6a99ae7-b730-4587-bd23-499e1be02c92){h=200px}

35-37: Alt-text for Dash logo

-[![](https://github.com/crate/crate-clients-tools/assets/453543/8b679c0b-2740-4dcc-88f0-1106aee7fa95){w=180px}](https://dash.plotly.com/)
+[![Dash logo](https://github.com/crate/crate-clients-tools/assets/453543/8b679c0b-2740-4dcc-88f0-1106aee7fa95){w=180px}](https://dash.plotly.com/)

53-55: Screenshots under Dash section need alt-text

-![](https://github.com/crate/crate-clients-tools/assets/453543/cc538982-e351-437b-97ec-f1fc6ca34948){h=200px}
-![](https://github.com/crate/crate-clients-tools/assets/453543/24908861-f0ad-43f3-b229-b2bfcc61596d){h=200px}
+![Dash callback workflow](https://github.com/crate/crate-clients-tools/assets/453543/cc538982-e351-437b-97ec-f1fc6ca34948){h=200px}
+![Dash interactive UI](https://github.com/crate/crate-clients-tools/assets/453543/24908861-f0ad-43f3-b229-b2bfcc61596d){h=200px}

80-81: Alt-text for Enterprise images

-![](https://github.com/crate/crate-clients-tools/assets/453543/161a9b73-25eb-4ec4-aa3e-5fa73757b440){h=200px}
-![](https://github.com/crate/crate-clients-tools/assets/453543/d199b9c9-8be0-4ff7-a7b5-835dc122cc6d){h=200px}
+![Dash Enterprise architecture](https://github.com/crate/crate-clients-tools/assets/453543/161a9b73-25eb-4ec4-aa3e-5fa73757b440){h=200px}
+![Dash Enterprise CI/CD](https://github.com/crate/crate-clients-tools/assets/453543/d199b9c9-8be0-4ff7-a7b5-835dc122cc6d){h=200px}
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2118cb4 and e352c53.

📒 Files selected for processing (24)
  • docs/conf.py (1 hunks)
  • docs/connect/df/index.md (5 hunks)
  • docs/connect/df/learn.md (0 hunks)
  • docs/connect/index.md (1 hunks)
  • docs/domain/index.md (1 hunks)
  • docs/domain/ml/index.md (5 hunks)
  • docs/integrate/apache-kafka/index.md (1 hunks)
  • docs/integrate/cluvio/index.md (1 hunks)
  • docs/integrate/debezium/index.md (1 hunks)
  • docs/integrate/explo/index.md (1 hunks)
  • docs/integrate/framework.md (1 hunks)
  • docs/integrate/gradio/index.md (1 hunks)
  • docs/integrate/grafana/index.md (1 hunks)
  • docs/integrate/index.md (1 hunks)
  • docs/integrate/metabase/index.md (1 hunks)
  • docs/integrate/metrics/index.md (1 hunks)
  • docs/integrate/plotly/index.md (1 hunks)
  • docs/integrate/powerbi/index.md (1 hunks)
  • docs/integrate/prometheus/index.md (1 hunks)
  • docs/integrate/pyviz/index.md (1 hunks)
  • docs/integrate/streamlit/index.md (1 hunks)
  • docs/integrate/tableau/index.md (1 hunks)
  • docs/integrate/telegraf/index.md (1 hunks)
  • docs/integrate/visualize/index.md (1 hunks)
💤 Files with no reviewable changes (1)
  • docs/connect/df/learn.md
✅ Files skipped from review due to trivial changes (2)
  • docs/conf.py
  • docs/integrate/debezium/index.md
🚧 Files skipped from review as they are similar to previous changes (11)
  • docs/connect/index.md
  • docs/integrate/framework.md
  • docs/integrate/gradio/index.md
  • docs/integrate/index.md
  • docs/domain/index.md
  • docs/integrate/cluvio/index.md
  • docs/integrate/streamlit/index.md
  • docs/connect/df/index.md
  • docs/integrate/metrics/index.md
  • docs/integrate/visualize/index.md
  • docs/integrate/apache-kafka/index.md
🧰 Additional context used
🧠 Learnings (5)
📓 Common learnings
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:22-33
Timestamp: 2025-05-18T12:50:36.393Z
Learning: In the CrateDB Guide repository, the prefix `ctk:` in documentation links (like `ctk:query/mcp/server`) is an intersphinx reference that points to external content in the CrateDB Toolkit documentation at https://cratedb-toolkit.readthedocs.io/. These references are intentionally not pointing to local files within the repository.
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:6-8
Timestamp: 2025-05-18T13:25:11.786Z
Learning: In the CrateDB Guide documentation, particularly for MCP-related pages, the author prefers a 1-column grid layout for multiple cards to stack them vertically rather than side by side, as this is an intentional design choice.
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:8-20
Timestamp: 2025-05-18T12:50:38.681Z
Learning: In the CrateDB guide repository, references with the `ctk:` prefix (like `ctk:query/mcp/landscape`) are intersphinx references that link to resources in the cratedb-toolkit repository (https://github.com/crate/cratedb-toolkit/tree/main/doc), which are rendered at https://cratedb-toolkit.readthedocs.io/. These are valid cross-references between separate Sphinx documentation sets, not local file references.
📚 Learning: in the cratedb guide repository, the prefix `ctk:` in documentation links (like `ctk:query/mcp/serve...
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:22-33
Timestamp: 2025-05-18T12:50:36.393Z
Learning: In the CrateDB Guide repository, the prefix `ctk:` in documentation links (like `ctk:query/mcp/server`) is an intersphinx reference that points to external content in the CrateDB Toolkit documentation at https://cratedb-toolkit.readthedocs.io/. These references are intentionally not pointing to local files within the repository.

Applied to files:

  • docs/domain/ml/index.md
  • docs/integrate/grafana/index.md
  • docs/integrate/metabase/index.md
  • docs/integrate/powerbi/index.md
📚 Learning: in the cratedb guide repository, references with the `ctk:` prefix (like `ctk:query/mcp/landscape`) ...
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:8-20
Timestamp: 2025-05-18T12:50:38.681Z
Learning: In the CrateDB guide repository, references with the `ctk:` prefix (like `ctk:query/mcp/landscape`) are intersphinx references that link to resources in the cratedb-toolkit repository (https://github.com/crate/cratedb-toolkit/tree/main/doc), which are rendered at https://cratedb-toolkit.readthedocs.io/. These are valid cross-references between separate Sphinx documentation sets, not local file references.

Applied to files:

  • docs/domain/ml/index.md
  • docs/integrate/grafana/index.md
  • docs/integrate/metabase/index.md
  • docs/integrate/powerbi/index.md
📚 Learning: in myst markdown, the correct syntax for rubric directives in the cratedb documentation is: ``` :::{...
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/cratedb-mcp.md:3-8
Timestamp: 2025-05-18T13:39:58.391Z
Learning: In MyST Markdown, the correct syntax for rubric directives in the CrateDB documentation is:
```
:::{rubric} Title
:::
```
followed by the content outside of the directive. This is different from other admonition blocks where content is typically wrapped inside the directive.

Applied to files:

  • docs/domain/ml/index.md
📚 Learning: in the cratedb guide documentation, particularly for mcp-related pages, the author prefers a 1-colum...
Learnt from: amotl
PR: crate/cratedb-guide#204
File: docs/integrate/mcp/community.md:6-8
Timestamp: 2025-05-18T13:25:11.786Z
Learning: In the CrateDB Guide documentation, particularly for MCP-related pages, the author prefers a 1-column grid layout for multiple cards to stack them vertically rather than side by side, as this is an intentional design choice.

Applied to files:

  • docs/integrate/metabase/index.md
🪛 markdownlint-cli2 (0.17.2)
docs/domain/ml/index.md

66-66: Link fragments should be valid

(MD051, link-fragments)


66-66: Link and image reference definitions should be needed
Unused link or image reference definition: "using grafana with cratedb cloud"

(MD053, link-image-reference-definitions)

docs/integrate/explo/index.md

27-27: Images should have alternate text (alt text)

(MD045, no-alt-text)


28-28: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/grafana/index.md

62-62: Link and image reference definitions should be needed
Unused link or image reference definition: "cratedb and grafana"

(MD053, link-image-reference-definitions)


66-66: Link fragments should be valid

(MD051, link-fragments)


66-66: Link and image reference definitions should be needed
Unused link or image reference definition: "using grafana with cratedb cloud"

(MD053, link-image-reference-definitions)

docs/integrate/metabase/index.md

47-47: Bare URL used

(MD034, no-bare-urls)


61-61: Link and image reference definitions should be needed
Unused link or image reference definition: "cratedb and metabase"

(MD053, link-image-reference-definitions)


65-65: Link fragments should be valid

(MD051, link-fragments)


65-65: Link and image reference definitions should be needed
Unused link or image reference definition: "using metabase with cratedb cloud"

(MD053, link-image-reference-definitions)

docs/integrate/plotly/index.md

27-27: Images should have alternate text (alt text)

(MD045, no-alt-text)


28-28: Images should have alternate text (alt text)

(MD045, no-alt-text)


53-53: Images should have alternate text (alt text)

(MD045, no-alt-text)


54-54: Images should have alternate text (alt text)

(MD045, no-alt-text)


80-80: Images should have alternate text (alt text)

(MD045, no-alt-text)


81-81: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/powerbi/index.md

27-27: Images should have alternate text (alt text)

(MD045, no-alt-text)


28-28: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/prometheus/index.md

44-44: Images should have alternate text (alt text)

(MD045, no-alt-text)


45-45: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/pyviz/index.md

44-44: Images should have alternate text (alt text)

(MD045, no-alt-text)


45-45: Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/integrate/tableau/index.md

15-15: Images should have alternate text (alt text)

(MD045, no-alt-text)


33-33: Link and image reference definitions should be needed
Unused link or image reference definition: "cratedb and tableau"

(MD053, link-image-reference-definitions)

docs/integrate/telegraf/index.md

34-34: Images should have alternate text (alt text)

(MD045, no-alt-text)


52-52: Link and image reference definitions should be needed
Unused link or image reference definition: "cratedb and telegraf"

(MD053, link-image-reference-definitions)

🪛 LanguageTool
docs/integrate/plotly/index.md

[style] ~68-~68: Consider a more concise word here.
Context: ...uch as authentication and VPC services, in order to deliver faster and more impactful busin...

(IN_ORDER_TO_PREMIUM)

docs/integrate/powerbi/index.md

[style] ~21-~21: Consider a more concise word here.
Context: ...it possible to publish your dashboards, in order to share them with others. [](project:#pow...

(IN_ORDER_TO_PREMIUM)

docs/integrate/pyviz/index.md

[style] ~36-~36: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...can visualize and interactively explore very large data, and with [GeoViews], you can crea...

(EN_WEAK_ADJECTIVE)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build docs
🔇 Additional comments (1)
docs/integrate/telegraf/index.md (1)

52-52: Confirm the link reference is detected to silence MD053

markdownlint flags [CrateDB and Telegraf] as “unused”. The usage inside the {seealso} directive should satisfy the rule, so this may be a casing or directive-parsing quirk. Please run markdownlint-cli2 locally to confirm and, if still reported, either:

  1. Rename the reference definition to lowercase ([cratedb and telegraf]: …) and update usages, or
  2. Inline the link to avoid the reference form.

Let’s verify before merging to keep the CI pipeline green.

@amotl amotl requested review from hammerhead and surister August 6, 2025 02:13
@amotl amotl marked this pull request as ready for review August 6, 2025 02:13
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (1)
docs/integrate/grafana/index.md (1)

7-10: Add meaningful alt-text for accessibility and linter compliance

Both logo references use empty alt-text ([]).
Screen-readers and markdownlint (MD042) expect descriptive text here.

-[![](https://cratedb.com/hs-fs/hubfs/Imported_Blog_Media/grafana-logo-1-520x126.png?width=1040&height=252&name=grafana-logo-1-520x126.png){w=180px}](https://grafana.com/grafana/)
+[![Grafana logo](https://cratedb.com/hs-fs/hubfs/Imported_Blog_Media/grafana-logo-1-520x126.png?width=1040&height=252&name=grafana-logo-1-520x126.png){w=180px}](https://grafana.com/grafana/)

Apply the same change to the duplicate inside the Managed Grafana dropdown.

Also applies to: 29-31

🧹 Nitpick comments (2)
docs/integrate/grafana/index.md (2)

23-24: Replace generic alt-text “image” with descriptive text

The screenshots currently use ![image], which conveys no context to assistive technologies.

-![image](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/grafana/grafana-connection.png){h=200px}
-![image](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/grafana/grafana-panel1.png){h=200px}
+![Grafana data-source configuration](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/grafana/grafana-connection.png){h=200px}
+![Grafana dashboard panel example](https://github.com/crate/cratedb-guide/raw/a9c8c03384/docs/_assets/img/integrations/grafana/grafana-panel1.png){h=200px}

57-63: Resolve MD053 “unused reference definition” warning

[CrateDB and Grafana] is defined on Line 62 but not recognised as “used” by markdownlint because the current {seealso} directive only contains the bare reference.

Either inline the link:

```{seealso}
-[CrateDB and Grafana]
+[CrateDB and Grafana](https://cratedb.com/integrations/cratedb-and-grafana)

or keep the existing directive and remove the reference definition block if no other pages reuse it.

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used: CodeRabbit UI**
**Review profile: CHILL**
**Plan: Pro**


<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between e352c53a210c3280be17f8faf4381c596ea0b079 and 8d945ee6cdb184d6da6522ea1a7403a6699773f5.

</details>

<details>
<summary>📒 Files selected for processing (2)</summary>

* `docs/integrate/apache-flink/index.md` (2 hunks)
* `docs/integrate/grafana/index.md` (1 hunks)

</details>

<details>
<summary>✅ Files skipped from review due to trivial changes (1)</summary>

* docs/integrate/apache-flink/index.md

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>🧠 Learnings (4)</summary>

<details>
<summary>📓 Common learnings</summary>

Learnt from: amotl
PR: #204
File: docs/integrate/mcp/community.md:22-33
Timestamp: 2025-05-18T12:50:36.393Z
Learning: In the CrateDB Guide repository, the prefix ctk: in documentation links (like ctk:query/mcp/server) is an intersphinx reference that points to external content in the CrateDB Toolkit documentation at https://cratedb-toolkit.readthedocs.io/. These references are intentionally not pointing to local files within the repository.


Learnt from: amotl
PR: #204
File: docs/integrate/mcp/community.md:6-8
Timestamp: 2025-05-18T13:25:11.786Z
Learning: In the CrateDB Guide documentation, particularly for MCP-related pages, the author prefers a 1-column grid layout for multiple cards to stack them vertically rather than side by side, as this is an intentional design choice.


Learnt from: amotl
PR: #204
File: docs/integrate/mcp/community.md:8-20
Timestamp: 2025-05-18T12:50:38.681Z
Learning: In the CrateDB guide repository, references with the ctk: prefix (like ctk:query/mcp/landscape) are intersphinx references that link to resources in the cratedb-toolkit repository (https://github.com/crate/cratedb-toolkit/tree/main/doc), which are rendered at https://cratedb-toolkit.readthedocs.io/. These are valid cross-references between separate Sphinx documentation sets, not local file references.


</details>
<details>
<summary>📚 Learning: in the cratedb guide repository, the prefix `ctk:` in documentation links (like `ctk:query/mcp/serve...</summary>

Learnt from: amotl
PR: #204
File: docs/integrate/mcp/community.md:22-33
Timestamp: 2025-05-18T12:50:36.393Z
Learning: In the CrateDB Guide repository, the prefix ctk: in documentation links (like ctk:query/mcp/server) is an intersphinx reference that points to external content in the CrateDB Toolkit documentation at https://cratedb-toolkit.readthedocs.io/. These references are intentionally not pointing to local files within the repository.


**Applied to files:**
- `docs/integrate/grafana/index.md`

</details>
<details>
<summary>📚 Learning: in the cratedb guide repository, references with the `ctk:` prefix (like `ctk:query/mcp/landscape`) ...</summary>

Learnt from: amotl
PR: #204
File: docs/integrate/mcp/community.md:8-20
Timestamp: 2025-05-18T12:50:38.681Z
Learning: In the CrateDB guide repository, references with the ctk: prefix (like ctk:query/mcp/landscape) are intersphinx references that link to resources in the cratedb-toolkit repository (https://github.com/crate/cratedb-toolkit/tree/main/doc), which are rendered at https://cratedb-toolkit.readthedocs.io/. These are valid cross-references between separate Sphinx documentation sets, not local file references.


**Applied to files:**
- `docs/integrate/grafana/index.md`

</details>
<details>
<summary>📚 Learning: the `project:` role in myst markdown syntax like `[](project:#powerbi-desktop)` and `[](project:#pow...</summary>

Learnt from: amotl
PR: #222
File: docs/integrate/powerbi/index.md:16-23
Timestamp: 2025-08-06T02:11:46.772Z
Learning: The project: role in MyST Markdown syntax like [](project:#powerbi-desktop) and [](project:#powerbi-service) is valid cross-reference syntax in the CrateDB Guide repository's MyST Markdown setup.


**Applied to files:**
- `docs/integrate/grafana/index.md`

</details>

</details><details>
<summary>🪛 markdownlint-cli2 (0.17.2)</summary>

<details>
<summary>docs/integrate/grafana/index.md</summary>

62-62: Link and image reference definitions should be needed
Unused link or image reference definition: "cratedb and grafana"

(MD053, link-image-reference-definitions)

</details>

</details>

</details>

<details>
<summary>⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)</summary>

* GitHub Check: Build docs

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants