- 
                Notifications
    You must be signed in to change notification settings 
- Fork 2
auto-docs: Update Cloud API spec #23
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
Conversation
| Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the  You can disable this status message by setting the  📝 WalkthroughWalkthrough
 Sequence Diagram(s)sequenceDiagram
  autonumber
  actor Client
  participant ControlPlaneAPI as Control Plane API
  Note over Client,ControlPlaneAPI: New field: api_gateway_access (NetworkAccessMode)
  Client->>ControlPlaneAPI: POST /clusters (ClusterCreate with api_gateway_access)
  ControlPlaneAPI-->>Client: 201 Created (Cluster with api_gateway_access)
  Client->>ControlPlaneAPI: PATCH /clusters/{id} (ClusterUpdate with api_gateway_access)
  ControlPlaneAPI-->>Client: 200 OK (updated Cluster with api_gateway_access)
  Client->>ControlPlaneAPI: GET /clusters/{id}
  ControlPlaneAPI-->>Client: 200 OK (Cluster includes api_gateway_access)
  Client->>ControlPlaneAPI: GET /clusters
  ControlPlaneAPI-->>Client: 200 OK (List includes api_gateway_access per Cluster)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
 Suggested reviewers
 Pre-merge checks and finishing touches✅ Passed checks (3 passed)
 Comment  | 
| 🤖 API structural change detected: Modified (11)
 
 | 
| ℹ️ API content change detected: No structural change, nothing to display. 
 | 
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: 1
🧹 Nitpick comments (12)
cloud-dataplane/cloud-dataplane.yaml (4)
3494-3500: Restore capitalization: “Connect” → “Connect”.Align with the rest of the spec (“Connect cluster” used elsewhere in path params).
- - description: Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`. + - description: Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.
3611-3617: Restore capitalization: “Connect” → “Connect”.Keep path parameter descriptions consistent across Secrets endpoints.
- - description: Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`. + - description: Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.
5613-5615: Use sentence case for summaries to match neighboring transform endpoints.Other Transform summaries use “List transforms”, “Get transform”, “Delete transform”. Keep “Deploy transform” in sentence case.
- summary: Deploy Transform + summary: Deploy transform
215-216: Capitalize “Kafka Connect” and use “Kafka Connect cluster” consistently.Replace "connect cluster" → "Kafka Connect cluster" in these locations:
- cloud-dataplane/cloud-dataplane.yaml line 215 — apply:- description: Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`. + description: Unique name of the Kafka Connect cluster. For Redpanda Cloud, the value is `redpanda`.
- cloud-dataplane/cloud-dataplane.yaml lines 3494, 3565, 3611, 3660, 3710 — update each parameter description to:
"Unique name of the Kafka Connect cluster. For Redpanda Cloud, useredpanda."cloud-controlplane/cloud-controlplane.yaml (8)
268-270: Clarify property semantics (avoid $ref sibling pitfalls)Add a description via allOf to document what “api_gateway_access” controls and its interaction with connection_type/Private Link.
- api_gateway_access: - $ref: '#/components/schemas/NetworkAccessMode' + api_gateway_access: + allOf: + - $ref: '#/components/schemas/NetworkAccessMode' + description: Controls public/private reachability of the cluster’s managed API Gateway endpoints (Kafka API, HTTP Proxy, Schema Registry). See also connection_type and Private Link settings.
509-511: Mirror the description on ClusterCreateKeep docs consistent at create time; use allOf to attach a description.
- api_gateway_access: - $ref: '#/components/schemas/NetworkAccessMode' + api_gateway_access: + allOf: + - $ref: '#/components/schemas/NetworkAccessMode' + description: Controls public/private reachability of the cluster’s managed API Gateway endpoints at creation time.
653-655: Mirror the description on ClusterUpdateSame rationale as above.
- api_gateway_access: - $ref: '#/components/schemas/NetworkAccessMode' + api_gateway_access: + allOf: + - $ref: '#/components/schemas/NetworkAccessMode' + description: Controls public/private reachability of the cluster’s managed API Gateway endpoints.
3516-3518: PATCH schema: property ok, but please lint the request body blockProperty addition looks fine. However, within this same schema block, “required: [cluster]” appears incongruent with the inline properties style and typical UpdateCluster request shape. Also ensure the 202 response schema references UpdateClusterOperation (not ClusterUpdate). Please run your OpenAPI linter and fix if flagged.
3331-3332: Fix invalid example value for api_gateway_accessUntil UNSPECIFIED is added to the enum, this example won’t validate. Change to a valid value or add UNSPECIFIED to the enum (see earlier comment).
- - api_gateway_access: NETWORK_ACCESS_MODE_UNSPECIFIED + - api_gateway_access: NETWORK_ACCESS_MODE_PUBLIC
3669-3669: Fix invalid example value in GetCluster exampleSame enum mismatch as above.
- api_gateway_access: NETWORK_ACCESS_MODE_UNSPECIFIED + api_gateway_access: NETWORK_ACCESS_MODE_PUBLIC
4068-4069: Fix invalid example value in CreateCluster operation exampleSame enum mismatch as above.
- api_gateway_access: NETWORK_ACCESS_MODE_UNSPECIFIED + api_gateway_access: NETWORK_ACCESS_MODE_PUBLIC
4194-4195: Fix invalid example value in UpdateCluster operation exampleSame enum mismatch as above.
- api_gateway_access: NETWORK_ACCESS_MODE_UNSPECIFIED + api_gateway_access: NETWORK_ACCESS_MODE_PUBLIC
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Jira integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
- cloud-controlplane/cloud-controlplane.yaml(11 hunks)
- cloud-dataplane/cloud-dataplane.yaml(4 hunks)
🔇 Additional comments (2)
cloud-controlplane/cloud-controlplane.yaml (2)
3273-3273: Info description update LGTMAccurate, clearer scope of the Control Plane API.
5711-5712: Tag description tweak LGTMLink and wording look consistent with the rest of the spec.
| NetworkAccessMode: | ||
| description: Network access mode for an endpoint. | ||
| enum: | ||
| - NETWORK_ACCESS_MODE_PRIVATE | ||
| - NETWORK_ACCESS_MODE_PUBLIC | ||
| type: string | 
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.
Enum/examples mismatch: add UNSPECIFIED or fix examples
Examples use NETWORK_ACCESS_MODE_UNSPECIFIED but the enum omits it. Add UNSPECIFIED to avoid invalid examples or update examples to a valid value.
Apply one of:
Option A (preferred: add enum value)
 NetworkAccessMode:
   description: Network access mode for an endpoint.
   enum:
+    - NETWORK_ACCESS_MODE_UNSPECIFIED
     - NETWORK_ACCESS_MODE_PRIVATE
     - NETWORK_ACCESS_MODE_PUBLIC
   type: string📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| NetworkAccessMode: | |
| description: Network access mode for an endpoint. | |
| enum: | |
| - NETWORK_ACCESS_MODE_PRIVATE | |
| - NETWORK_ACCESS_MODE_PUBLIC | |
| type: string | |
| NetworkAccessMode: | |
| description: Network access mode for an endpoint. | |
| enum: | |
| - NETWORK_ACCESS_MODE_UNSPECIFIED | |
| - NETWORK_ACCESS_MODE_PRIVATE | |
| - NETWORK_ACCESS_MODE_PUBLIC | |
| type: string | 
🤖 Prompt for AI Agents
In cloud-controlplane/cloud-controlplane.yaml around lines 1953 to 1958, the
OpenAPI enum lists NETWORK_ACCESS_MODE_PRIVATE and NETWORK_ACCESS_MODE_PUBLIC
but examples reference NETWORK_ACCESS_MODE_UNSPECIFIED, causing invalid
examples; add NETWORK_ACCESS_MODE_UNSPECIFIED to the enum definition (preferably
as the first value) so examples validate, and ensure any schema
default/description reflects the new UNSPECIFIED value; alternatively, update
examples to use one of the existing enum values if you choose not to add
UNSPECIFIED.
8ea7598    to
    a0c6f48      
    Compare
  
    a0c6f48    to
    c24b238      
    Compare
  
    | example: | ||
| clusters: | ||
| - cloud_provider: CLOUD_PROVIDER_GCP | ||
| - api_gateway_access: NETWORK_ACCESS_MODE_UNSPECIFIED | 
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.
Will try adding overlays to target and use a public value
This PR updates the OpenAPI spec file for the Cloud API.
Triggered by commit: 5fdbc30b13881aef68b17176891e5b4690cd8a72