docs: add resource abstractions blog#653
Conversation
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ 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. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (7)
📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR adds a blog post introducing OpenChoreo v1.1's resource abstractions—a two-sided model enabling platform engineers to author managed infrastructure templates and developers to consume them as typed workload dependencies. The post covers the Doclet example, environment-specific overrides, and portal features; author metadata is added to credit the contributor. ChangesResource Abstractions Blog Post
🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
125509d to
d0584be
Compare
945cc9c to
db31ff6
Compare
db31ff6 to
d5e30e2
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
blog/2026-05-19-self-service-databases-queues-caches-and-other-resources.mdx (1)
36-36: 💤 Low valueConsider a more formal verb choice.
The phrase "that get emitted" could be replaced with "that are emitted" for a slightly more formal tone, though the current phrasing is acceptable.
✍️ Optional style improvement
-- **Platform engineers** author a ResourceType (namespace-scoped) or **ClusterResourceType** (cluster-wide). It defines the parameters developers can set, the outputs the resource exposes, and the actual Kubernetes manifests that get emitted on the data plane. +- **Platform engineers** author a ResourceType (namespace-scoped) or **ClusterResourceType** (cluster-wide). It defines the parameters developers can set, the outputs the resource exposes, and the actual Kubernetes manifests that are emitted on the data plane.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@blog/2026-05-19-self-service-databases-queues-caches-and-other-resources.mdx` at line 36, Change the informal passive phrasing "that get emitted" to the more formal "that are emitted" in the sentence referencing ResourceType and ClusterResourceType so it reads: "It defines the parameters developers can set, the outputs the resource exposes, and the actual Kubernetes manifests that are emitted on the data plane." Update the line containing the phrase near the mentions of ResourceType and ClusterResourceType.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@blog/2026-05-19-self-service-databases-queues-caches-and-other-resources.mdx`:
- Line 9: The markdown link target "/blog/openchoreo-v1-1-release" in the
sentence containing "OpenChoreo v1.1 [shipped recently]" is broken; update that
anchor to the correct OpenChoreo v1.1 release announcement URL by replacing the
href in that link with the actual release post path (locate the correct release
blog URL and substitute it for "/blog/openchoreo-v1-1-release") so the inline
link text "OpenChoreo v1.1 [shipped recently]" points to the valid release
announcement.
---
Nitpick comments:
In
`@blog/2026-05-19-self-service-databases-queues-caches-and-other-resources.mdx`:
- Line 36: Change the informal passive phrasing "that get emitted" to the more
formal "that are emitted" in the sentence referencing ResourceType and
ClusterResourceType so it reads: "It defines the parameters developers can set,
the outputs the resource exposes, and the actual Kubernetes manifests that are
emitted on the data plane." Update the line containing the phrase near the
mentions of ResourceType and ClusterResourceType.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: e718421f-60e3-4e46-85e7-e581076586c9
⛔ Files ignored due to path filters (6)
blog/assets/self-service-databases-queues-caches-and-other-resources/doclet-cell-diagram.pngis excluded by!**/*.png,!**/*.pngblog/assets/self-service-databases-queues-caches-and-other-resources/doclet-postgres-deploy.pngis excluded by!**/*.png,!**/*.pngblog/assets/self-service-databases-queues-caches-and-other-resources/doclet-postgres-outputs.pngis excluded by!**/*.png,!**/*.pngblog/assets/self-service-databases-queues-caches-and-other-resources/doclet-postgres-overview.pngis excluded by!**/*.png,!**/*.pngblog/assets/self-service-databases-queues-caches-and-other-resources/doclet-project-diagram.pngis excluded by!**/*.png,!**/*.pngblog/assets/self-service-databases-queues-caches-and-other-resources/postgres-clusterresourcetype.pngis excluded by!**/*.png,!**/*.png
📒 Files selected for processing (2)
blog/2026-05-19-self-service-databases-queues-caches-and-other-resources.mdxblog/authors.yml
✅ Files skipped from review due to trivial changes (1)
- blog/authors.yml
| description: How OpenChoreo 1.1 lets developers depend on databases, queues, caches, and other managed infrastructure with the same typed, declarative model that already covers application workloads. | ||
| --- | ||
|
|
||
| OpenChoreo v1.1 [shipped recently](/blog/openchoreo-v1-1-release), and one of the headline features is **resource abstractions**: a way to treat managed infrastructure like databases, queues, and caches as first-class, declarative dependencies of a workload. Platform engineers publish reusable **ResourceType** templates. Developers self-serve a **Resource** from one of those templates (picking the type, filling in only the parameters they care about) and wire its outputs into their **Workload**, the same way they already reference other components' endpoints. |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify all internal documentation links referenced in the blog post
echo "=== Checking blog cross-references ==="
fd -t f "openchoreo-v1-1-release" blog/
fd -t f "creating-developer-abstractions-for-k8s" blog/
echo -e "\n=== Checking documentation links ==="
# Check for the referenced doc pages
test -f "docs/platform-engineer-guide/resource-types.mdx" || test -f "docs/platform-engineer-guide/resource-types.md" && echo "✓ resource-types guide exists" || echo "✗ resource-types guide NOT FOUND"
test -f "docs/developer-guide/dependencies/resources.mdx" || test -f "docs/developer-guide/dependencies/resources.md" && echo "✓ dependencies/resources guide exists" || echo "✗ dependencies/resources guide NOT FOUND"
test -f "docs/getting-started/quick-start-guide.mdx" || test -f "docs/getting-started/quick-start-guide.md" && echo "✓ quick-start-guide exists" || echo "✗ quick-start-guide NOT FOUND"
# Check for API reference docs
echo -e "\n=== Checking API reference docs ==="
fd -t f "resource\.(mdx?|md)" docs/reference/api/application/
fd -t f "resourcetype\.(mdx?|md)" docs/reference/api/platform/
fd -t f "clusterresourcetype\.(mdx?|md)" docs/reference/api/platform/
fd -t f "resourcereleasebinding\.(mdx?|md)" docs/reference/api/platform/
fd -t f "resourcerelease\.(mdx?|md)" docs/reference/api/runtime/
echo -e "\n=== Checking external links (basic connectivity) ==="
curl -s -o /dev/null -w "crossplane.io: %{http_code}\n" https://www.crossplane.io/
curl -s -o /dev/null -w "external-secrets.io: %{http_code}\n" https://external-secrets.io/latest/
curl -s -o /dev/null -w "GitHub repo: %{http_code}\n" https://github.com/openchoreo/openchoreoRepository: openchoreo/openchoreo.github.io
Length of output: 748
Fix broken internal link to OpenChoreo v1.1 release blog post.
The link to /blog/openchoreo-v1-1-release on line 9 does not exist. The other internal documentation and external links are valid. The blog post should reference the correct URL for the OpenChoreo v1.1 release announcement.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@blog/2026-05-19-self-service-databases-queues-caches-and-other-resources.mdx`
at line 9, The markdown link target "/blog/openchoreo-v1-1-release" in the
sentence containing "OpenChoreo v1.1 [shipped recently]" is broken; update that
anchor to the correct OpenChoreo v1.1 release announcement URL by replacing the
href in that link with the actual release post path (locate the correct release
blog URL and substitute it for "/blog/openchoreo-v1-1-release") so the inline
link text "OpenChoreo v1.1 [shipped recently]" points to the valid release
announcement.
There was a problem hiding this comment.
The /blog/openchoreo-v1-1-release already exists
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify if the v1.1 release blog post exists
fd -t f "openchoreo-v1-1-release" blog/
echo "---"
# Also check with a broader search
fd -t f . blog/ | grep -i "v1-1\|v1\.1\|1-1-release"
Unrecoverable error: Failed to clone repository
@Mirage20, thanks for confirming! I was unable to verify this in the earlier script run due to a repository clone issue. I'll take your word for it — the link is valid and my comment was a false positive. Apologies for the noise!
🧠 Learnings used
Learnt from: mevan-karu
Repo: openchoreo/openchoreo.github.io PR: 539
File: docs/getting-started/quick-start-guide.mdx:223-223
Timestamp: 2026-03-30T09:53:29.876Z
Learning: In openchoreo/openchoreo.github.io documentation, treat “Thunder” as the user-facing product name, but keep references to the underlying “asgardeo” namespace in GitHub org URLs and Helm chart/registry paths (e.g., github.com/asgardeo/thunder, ghcr.io/asgardeo/helm-charts) as valid and intentional. Do not flag “asgardeo” URL/registry namespace references as branding inconsistencies with the “Thunder” product name when they are used in those links/paths.
- Walks through the PE/dev split (ResourceType -> Resource -> Workload) - Uses the Doclet sample (Postgres + NATS) end-to-end - Covers the typed-outputs trust model and per-env ResourceReleaseBinding - Includes Backstage portal screenshots: project diagram, cell diagram, Resource page, Deploy tab, outputs panel, ClusterResourceType detail - Cross-links to the v1.1 release blog and the Crossplane and ESO projects - Adds mirage author entry to blog/authors.yml Signed-off-by: Miraj Abeysekara <miraj@wso2.com>
d5e30e2 to
1c62089
Compare
Purpose
Adds a blog post introducing the resource abstractions feature, walking through the PE/dev split and the typed-outputs model with the Doclet sample as a concrete end-to-end example.
Related Issues
N/A
Checklist
sidebars.tsif adding a new documentation pagenpm run startto preview the changes locallynpm run buildto ensure the build passes without errors