-
Notifications
You must be signed in to change notification settings - Fork 1
Kestra: Starter tutorial #291
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
base: main
Are you sure you want to change the base?
Conversation
Warning Rate limit exceeded@amotl has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 14 minutes and 53 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
WalkthroughIntroduces a new Kestra–CrateDB tutorial page and updates the Kestra integration index to use an internal cross-reference and a hidden toctree entry linking to the tutorial. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor U as User
participant UI as Kestra UI
participant FE as Kestra Flow Engine
participant A as CrateDB Cluster A
participant B as CrateDB Cluster B
U->>UI: Start "CrateDB transfer" Flow
UI->>FE: Execute Flow
rect rgba(215,235,255,0.5)
note over FE,A: Task 1: Query (store: true)
FE->>A: SELECT ... FROM nyc_taxi
A-->>FE: Result set (stored as output)
end
rect rgba(220,255,220,0.5)
note over FE,B: Task 2: Batch insert using prior output
FE->>B: INSERT ... VALUES (from Task 1 output)
B-->>FE: Insert ack
end
rect rgba(255,240,200,0.5)
note over FE,B: Task 3: Final verification query
FE->>B: SELECT COUNT(*) ...
B-->>FE: Query result
end
FE-->>UI: Logs, outputs, status
UI-->>U: Display run details and results
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
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. Comment |
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.
Actionable comments posted: 0
🧹 Nitpick comments (9)
docs/integrate/kestra/tutorial.md (9)
4-4
: Use https and tighten wording (active voice).Apply:
-[Kestra.io](http://kestra.io/) is an open-source workflow automation and orchestration tool that enables users to automate and manage complex workflows in a streamlined and efficient manner. The tool provides a wide range of features and integrations, including Postgres, Git, Docker, Kubernetes, and more, making automating processes across different platforms and environments easy. Kestra comes with a user-friendly web-based interface, allowing users to create, modify, and manage workflows ***without the need for any coding skills***. +[Kestra.io](https://kestra.io/) is an open‑source workflow automation and orchestration tool that helps you automate and manage complex workflows efficiently. It integrates with Postgres, Git, Docker, Kubernetes, and more. Kestra’s web UI lets you create, modify, and manage workflows without writing code.
10-15
: Convert inline command to fenced code block with language.Fixes MD038/MD040 and improves readability.
Apply:
-`docker run -d -p 8080:8080 kestra/kestra:latest ` +```bash +docker run -d -p 8080:8080 kestra/kestra:latest +```
69-80
: Add code fence language and avoid embedding secrets.Declare as YAML and reference a secret for the password.
Apply:
-``` +```yaml id: cratedb-kestra namespace: io.kestra.crate tasks: - id: query type: io.kestra.plugin.jdbc.postgresql.Query url: jdbc:postgresql://cratedb-kestra.aks1.westeurope.azure.cratedb.net:5432/ username: admin - password: my_super_secret_password + password: "{{ secret('CRATEDB_PASSWORD') }}" sql: SELECT * FROM doc.nyc_taxi LIMIT 1000 store: true--- `83-83`: **Grammar nit.** Apply: ```diff -In this task, we set the `store` parameter is set to `true` to allow storing the results that will be used as input in the following task. +In this task, we set the `store` parameter to `true` to store results for the next task.
91-100
: Add YAML language and use secrets for credentials.Apply:
-``` +```yaml - id: update type: io.kestra.plugin.jdbc.postgresql.Batch from: "{{ outputs.query.uri }}" url: jdbc:postgresql://cratedb-kestra2.aks1.eastus2.azure.cratedb.net:5432/ username: admin - password: my_super_secret_password + password: "{{ secret('CRATEDB_PASSWORD') }}" sql: | INSERT INTO doc.nyc_taxi VALUES( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )--- `108-116`: **Add YAML language for the third snippet.** Apply: ```diff -``` +```yaml - id: select type: io.kestra.plugin.jdbc.postgresql.Query url: jdbc:postgresql://kestra-testing-cluster2.aks1.eastus2.azure.cratedb.net:5432/ username: admin password: my_super_secret_password sql: SELECT MAX_BY(passenger_count, fare_amount) FROM doc.nyc_taxi store: false
--- `21-21`: **Avoid time‑sensitive promo amounts.** Either qualify with a date or generalize to “free trial credit.” Apply: ```diff -To deploy a new cluster on CrateDB Cloud, you need to sign up for a [CrateDB Cloud account](https://console.cratedb.cloud/). When creating a new organization, you are entitled to a [$200 free credit](https://crate.io/lp-free-trial) to spend on cluster deployment, scaling, and other operations as you see fit. Once you've signed up, you can create a new cluster by selecting the *Create Cluster* button and choosing your preferred cloud provider and region. You can then configure your cluster by selecting the number of nodes and the amount of storage you need. In this example, we used the 1-node cluster with 4GiB of storage which is enough for development environments and low-traffic applications. +To deploy a new cluster on CrateDB Cloud, sign up for a [CrateDB Cloud account](https://console.cratedb.cloud/). New organizations receive a free trial credit (as of September 2025) for cluster deployment, scaling, and other operations. After signing up, create a cluster by selecting *Create Cluster* and choosing your preferred cloud provider and region. In this example, we use a 1‑node cluster with 4 GiB of storage, sufficient for development and low‑traffic applications.
16-16
: Improve image alt text (a11y) and sizing.The Discourse export alt text is non‑descriptive. Use meaningful alt and explicit size attributes.
Apply (and mirror for similar images at Lines 23, 124, 131):
- +{width=690px height=290px}
136-136
: Use https and tighten wrap‑up sentence (active voice).Apply:
-If you need to automatically manage CrateDB data pipelines, [kestra.io](http://kestra.io/) can be a good choice. It allows you to specify workflows without requiring coding skills. Furthermore, it supports integrations with various systems including Postgres (and CrateDB), Kubernetes, Docker, Git, and many others. +If you need to automatically manage CrateDB data pipelines, [kestra.io](https://kestra.io/) is a good choice. It lets you define workflows without writing code and integrates with Postgres (and CrateDB), Kubernetes, Docker, Git, and more.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
docs/integrate/kestra/index.md
(2 hunks)docs/integrate/kestra/tutorial.md
(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: amotl
PR: crate/cratedb-guide#263
File: docs/integrate/kafka/docker-python.md:112-120
Timestamp: 2025-08-22T18:11:12.776Z
Learning: In documentation and tutorial repositories like cratedb-guide, code examples should prioritize simplicity, clarity, and educational value over production-ready features. Comprehensive error handling, extensive validation, and other production concerns can distract from the main learning objectives and make examples harder to follow. Review suggestions should focus on correctness and clarity rather than production hardening.
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.
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#235
File: docs/start/going-further.md:20-38
Timestamp: 2025-08-23T04:22:52.597Z
Learning: In the CrateDB Guide repository, the prefix `crate-reference:` in documentation links (like `crate-reference:index`) is an intersphinx reference that points to external content in the CrateDB Reference Manual documentation. These references are intentionally not pointing to local files within the repository.
📚 Learning: 2025-05-18T12:50:38.681Z
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/integrate/kestra/index.md
📚 Learning: 2025-05-18T12:50:36.393Z
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/integrate/kestra/index.md
🪛 markdownlint-cli2 (0.17.2)
docs/integrate/kestra/tutorial.md
12-12: Spaces inside code span elements
(MD038, no-space-in-code)
69-69: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
91-91: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
108-108: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
⏰ 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 (3)
docs/integrate/kestra/index.md (2)
39-41
: Cross‑ref looks correct; nice switch to internal link.Label
(kestra-tutorial)=
exists in tutorial.md, so:link-type: ref
tokestra-tutorial
should resolve.Please confirm the docs build and linkcheck pass for this ref.
54-58
: Hidden toctree is appropriate.Including
tutorial
via a hidden toctree keeps it in nav without duplicating visible content. LGTM.docs/integrate/kestra/tutorial.md (1)
69-69
: Add fenced code languages to satisfy markdownlint MD040.You already did for SQL; add
yaml
to these three blocks.Run markdownlint locally to confirm no remaining MD038/MD040 hits.
Also applies to: 91-91, 108-108
About
Continue adding tutorials from the community forum.
Preview
References
Trivia
@coderabbitai: Please review and convert to active voice.