[APIE-989] Support Real Time Context Engine control plane commands#3331
Conversation
|
🎉 All Contributor License Agreements have been signed. Ready to merge. |
There was a problem hiding this comment.
Pull request overview
Introduces initial generated CLI and client support for Symphony/RTCE control plane APIs, including RTCE regions and RTCE topic CRUD, plus corresponding test-server routes and tests.
Changes:
- Add RTCE API client wiring and list/create/get/update/delete helpers in
pkg/ccloudv2. - Add
confluent rtcecommand group withregion listandrtce-topicsubcommands. - Add test-server handlers/routes and new integration/live tests for RTCE commands.
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
pkg/ccloudv2/client.go |
Wires an RTCE SDK client into the shared v2 client. |
pkg/ccloudv2/rtce.go |
Adds RTCE API wrapper methods (topics + regions). |
internal/command.go |
Registers the new rtce top-level command group. |
internal/rtce/* |
Implements RTCE CLI commands (regions + rtce-topic CRUD + autocomplete). |
test/test-server/ccloudv2_router.go |
Registers RTCE routes in the test server. |
test/test-server/region_handler.go |
Adds test-server handler for RTCE regions. |
test/test-server/rtce_topic_handler.go |
Adds test-server handlers for RTCE topics endpoints. |
test/region_test.go |
Adds integration tests for rtce region list. |
test/rtce_topic_test.go |
Adds integration tests for rtce rtce-topic commands. |
test/live/region_live_test.go |
Adds live test for RTCE region listing. |
test/live/rtce_topic_live_test.go |
Adds live CRUD test for RTCE topics. |
go.mod |
Adds RTCE SDK dependency (currently with a local replace). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
4d83fa2 to
0a0738a
Compare
Steven Gagniere (sgagniere)
left a comment
There was a problem hiding this comment.
Nice! Some comments:
| if environmentId != "" { | ||
| specUpdate.Environment = &rtcev1.EnvScopedObjectReference{Id: environmentId} |
There was a problem hiding this comment.
Possible followup: the spec marks this as required in the PATCH request, so we could update it so that required attributes don't have this guard condition.
The cluster isn't marked as required, though. Which is a bit odd... that one should also be necessary to define the right scope
There was a problem hiding this comment.
environment is required in OpenAPI yaml, but optional in CLI command registration, because of the config thing.
But we can indeed remove the if statement here because if environmentId is empty, the backend is going to b complain anyway, and this only happens for the scenario where user doesn't have an active environment to work with.
|




Release Notes
Breaking Changes
New Features
confluent rtce rtce-topic [ create | delete | describe | list | update ], andconfluent rtce region listcommands for managing Real Time Context Engine in Confluent CloudBug Fixes
Checklist
Whatsection below whether this PR applies to Confluent Cloud, Confluent Platform, or both.Test & Reviewsection below.Blast Radiussection below.What
This PR adds the new CLI commands for managing Real Time Context Engine control plane resources.
Blast Radius
This is an additive feature, so no impact on existing commands.
References
https://confluentinc.atlassian.net/browse/APIE-989
Test & Review
The manual verification confirmation can be found in below Slack threads:
https://confluent.slack.com/archives/C096C1HM5FD/p1776721083029179?thread_ts=1776449646.592909&cid=C096C1HM5FD
https://confluent.slack.com/archives/C096C1HM5FD/p1777389486152819?thread_ts=1776449646.592909&cid=C096C1HM5FD