Skip to content

Commit f841eae

Browse files
kbatuigassago2k8
andauthored
Use Cloud API for RBAC (#211)
* Initialize section for RBAC examples * Specify entities for code examples * Update xrefs, minor edits * Update visible cloud API URLs to v1 * Cloud API going into GA * v1 endpoint URLs are now available from cloudv2 * Revert URL update for v1alpha2 since the updated spec isn't yet available * Forgot to revert a data plane version and URL * Create role binding call takes predefined role names * Apply suggestions from code review Co-authored-by: Santiago Jimenez Giraldo <[email protected]> * Update modules/manage/partials/controlplane-api.adoc Co-authored-by: Santiago Jimenez Giraldo <[email protected]> * Apply suggestion from review * Update the rest of data plane URLs * Remove API from beta list * Update links to RPCN tag * Add API GA to What's New --------- Co-authored-by: Santiago Jimenez Giraldo <[email protected]>
1 parent eeed589 commit f841eae

24 files changed

+241
-163
lines changed

modules/develop/pages/connect/about.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
= Redpanda Connect in Redpanda Cloud
2-
:tag-pipeline-service: api:ROOT:cloud-dataplane-api.adoc#tag--PipelineService
2+
:tag-pipeline-service: api:ROOT:cloud-dataplane-api.adoc#tag--Redpanda-Connect-Pipeline
33
:description: Learn about Redpanda Connect in Redpanda Cloud and its wide range of connectors.
44

55
Redpanda Connect in Redpanda Cloud lets you quickly build and deploy streaming data pipelines on your clusters from a fully-integrated UI or using the pass:a,m[xref:{tag-pipeline-service}[Data Plane API\]].

modules/develop/pages/connect/configuration/resource-management.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ Data Plane API::
137137
+
138138
--
139139
. xref:manage:api/cloud-api-quickstart.adoc#try-the-cloud-api[Authenticate and get the base URL] for the Data Plane API.
140-
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#get-/v1alpha2/redpanda-connect/pipelines[`GET /v1alpha2/redpanda-connect/pipelines`], which lists details of all pipelines on your cluster by ID.
140+
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#get-/v1/redpanda-connect/pipelines[`GET /v1/redpanda-connect/pipelines`], which lists details of all pipelines on your cluster by ID.
141141
+
142142
* Memory (`memory_shares`) is displayed in megabytes. For example, `1` compute unit is `400M` or 400 MB.
143143
* CPU resources (`cpu_shares`) are displayed milliCPU. For example, `1` compute unit is `100m` or 0.1 CPU.
@@ -165,8 +165,8 @@ Data Plane API::
165165
You can only update CPU resources using the Data Plane API. For every 0.1 CPU that you allocate, Redpanda Cloud automatically reserves 400 MB of memory for the exclusive use of the pipeline.
166166
167167
. xref:manage:api/cloud-api-quickstart.adoc#try-the-cloud-api[Authenticate and get the base URL] for the Data Plane API, if you haven't already.
168-
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#get-/v1alpha2/redpanda-connect/pipelines/-id-[`GET /v1alpha2/redpanda-connect/pipelines/\{id}`], including the ID of the pipeline you want to update. You'll use the returned values in the next step.
169-
. Now make a request to xref:api:ROOT:cloud-dataplane-api.adoc#put-/v1alpha2/redpanda-connect/pipelines/-id-[`PUT /v1alpha2/redpanda-connect/pipelines/\{id}`], to update the pipeline resources:
168+
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#get-/v1/redpanda-connect/pipelines/-id-[`GET /v1/redpanda-connect/pipelines/\{id}`], including the ID of the pipeline you want to update. You'll use the returned values in the next step.
169+
. Now make a request to xref:api:ROOT:cloud-dataplane-api.adoc#put-/v1/redpanda-connect/pipelines/-id-[`PUT /v1/redpanda-connect/pipelines/\{id}`], to update the pipeline resources:
170170
+
171171
* Reuse the values returned by your `GET` request to populate the request body.
172172
* Replace the `cpu_shares` value with the resources you want to allocate, and enter any valid value for `memory_shares`.
@@ -175,7 +175,7 @@ This example allocates 0.2 CPU or 200 milliCPU to a data pipeline. For `cpu_shar
175175
+
176176
[,bash,role=“no-placeholders”]
177177
----
178-
curl -X PUT "https://<data-plane-api-url>/v1alpha2/redpanda-connect/pipelines/xxx..." \
178+
curl -X PUT "https://<data-plane-api-url>/v1/redpanda-connect/pipelines/xxx..." \
179179
-H 'accept: application/json'\
180180
-H 'authorization: Bearer xxx...' \
181181
-H "content-type: application/json" \
@@ -190,6 +190,6 @@ curl -X PUT "https://<data-plane-api-url>/v1alpha2/redpanda-connect/pipelines/xx
190190
----
191191
+
192192
A successful response shows the updated resource allocations with the `cpu_shares` value returned in milliCPU.
193-
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#get-/v1alpha2/redpanda-connect/pipelines[`GET /v1alpha2/redpanda-connect/pipelines`] to verify your pipeline resource updates.
193+
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#get-/v1/redpanda-connect/pipelines[`GET /v1/redpanda-connect/pipelines`] to verify your pipeline resource updates.
194194
--
195195
=====

modules/develop/pages/connect/configuration/secret-management.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@ Data Plane API::
6262
You must use a Base64-encoded secret.
6363
6464
. xref:manage:api/cloud-api-quickstart.adoc#try-the-cloud-api[Authenticate and get the base URL] for the Data Plane API.
65-
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#post-/v1alpha2/secrets[`POST /v1alpha2/secrets`].
65+
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#post-/v1/secrets[`POST /v1/secrets`].
6666
+
6767
[,bash]
6868
----
69-
curl -X POST "https://<dataplane-api-url>/v1alpha2/secrets" \
69+
curl -X POST "https://<dataplane-api-url>/v1/secrets" \
7070
-H 'accept: application/json'\
7171
-H 'authorization: Bearer <token>'\
7272
-H 'content-type: application/json' \
@@ -127,11 +127,11 @@ Data Plane API::
127127
You must use a Base64-encoded secret.
128128
129129
. xref:manage:api/cloud-api-quickstart.adoc#try-the-cloud-api[Authenticate and get the base URL] for the Data Plane API.
130-
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#put-/v1alpha2/secrets/-id-[`PUT /v1alpha2/secrets/\{id}`].
130+
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#put-/v1/secrets/-id-[`PUT /v1/secrets/\{id}`].
131131
+
132132
[,bash]
133133
----
134-
curl -X PUT "https://<dataplane-api-url>/v1alpha2/secrets/<secret-name>" \
134+
curl -X PUT "https://<dataplane-api-url>/v1/secrets/<secret-name>" \
135135
-H 'accept: application/json'\
136136
-H 'authorization: Bearer <token>'\
137137
-H 'content-type: application/json' \
@@ -188,11 +188,11 @@ Data Plane API::
188188
--
189189
190190
. xref:manage:api/cloud-api-quickstart.adoc#try-the-cloud-api[Authenticate and get the base URL] for the Data Plane API.
191-
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#delete-/v1alpha2/secrets/-id-[`DELETE /v1alpha2/secrets/\{id}`].
191+
. Make a request to xref:api:ROOT:cloud-dataplane-api.adoc#delete-/v1/secrets/-id-[`DELETE /v1/secrets/\{id}`].
192192
+
193193
[,bash]
194194
----
195-
curl -X DELETE "https://<dataplane-api-url>/v1alpha2/secrets/<secret-name>" \
195+
curl -X DELETE "https://<dataplane-api-url>/v1/secrets/<secret-name>" \
196196
-H 'accept: application/json'\
197197
-H 'authorization: Bearer <token>'\
198198
----

modules/get-started/pages/cloud-overview.adoc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
= Redpanda Cloud Overview
22
:description: Learn about Redpanda Serverless Standard, Serverless Pro, Dedicated, and Bring Your Own Cloud (BYOC) clusters.
33
:description: Learn about Redpanda Serverless, Dedicated, and Bring Your Own Cloud (BYOC) clusters.
4-
:tag-pipeline-service: api:ROOT:cloud-dataplane-api.adoc#tag--PipelineService
4+
:tag-pipeline-service: api:ROOT:cloud-dataplane-api.adoc#tag--Redpanda-Connect-Pipeline
55
:page-aliases: cloud:dedicated-byoc.adoc, deploy:deployment-option/cloud/dedicated-byoc.adoc, deploy:deployment-option/cloud/cloud-overview.adoc
66

77

@@ -315,7 +315,6 @@ Features in beta are available for testing and feedback. They are not covered by
315315
The following features are currently in beta in Redpanda Cloud:
316316

317317
* Redpanda Connect for Serverless
318-
* Cloud API
319318
* Redpanda Terraform provider
320319
* BYOVPC for AWS and Azure
321320
* Remote Read Replicas for AWS and GCP

modules/get-started/pages/cluster-types/byoc/aws/vpc-byo-aws.adoc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ EOF
155155
. Use the Cloud API to create the network and retrieve the network ID:
156156
+
157157
```bash
158-
export REDPANDA_NETWORK_ID=$(curl -X POST "https://api.redpanda.com/v1beta2/networks" \
158+
export REDPANDA_NETWORK_ID=$(curl -X POST "https://api.redpanda.com/v1/networks" \
159159
-H "accept: application/json" \
160160
-H "content-type: application/json" \
161161
-H "authorization: Bearer ${BEARER_TOKEN}" \
@@ -170,7 +170,7 @@ The Create Network request returns a `resource_id`. For example:
170170
"operation":{
171171
"id":"cpas8k6r4up5li18auh0",
172172
"metadata":{
173-
"@type":"type.googleapis.com/redpanda.api.controlplane.v1beta2.CreateNetworkMetadata",
173+
"@type":"type.googleapis.com/redpanda.api.controlplane.v1.CreateNetworkMetadata",
174174
"network_id":"cpb338gekjj5i1cpj3t0"
175175
},
176176
"state":"STATE_IN_PROGRESS",
@@ -261,7 +261,7 @@ EOF
261261
. Use the Cloud API to deploy the cluster and retrieve its ID:
262262
+
263263
```bash
264-
export REDPANDA_ID=$(curl -X POST "https://api.redpanda.com/v1beta2/clusters" \
264+
export REDPANDA_ID=$(curl -X POST "https://api.redpanda.com/v1/clusters" \
265265
-H "accept: application/json" \
266266
-H "content-type: application/json" \
267267
-H "authorization: Bearer ${BEARER_TOKEN}" \
@@ -276,7 +276,7 @@ The create cluster request returns a `resource_id`, which is required in the nex
276276
"operation":{
277277
"id":"cpas8k6r4up5li18auhg",
278278
"metadata":{
279-
"@type":"type.googleapis.com/redpanda.api.controlplane.v1beta2.CreateClusterMetadata",
279+
"@type":"type.googleapis.com/redpanda.api.controlplane.v1.CreateClusterMetadata",
280280
"cluster_id":"cpb33c8ekjj5i1cpj3v0"
281281
},
282282
"state":"STATE_IN_PROGRESS",
@@ -356,7 +356,7 @@ Cluster creation is an example of an operation that can take a longer period of
356356
Example using the operation ID returned from your create cluster command:
357357

358358
```bash
359-
curl -X GET "https://api.redpanda.com/v1beta2/operations/${REDPANDA_ID}" \
359+
curl -X GET "https://api.redpanda.com/v1/operations/${REDPANDA_ID}" \
360360
-H "accept: application/json"\
361361
-H "content-type: application/json" \
362362
-H "authorization: Bearer ${BEARER_TOKEN}"
@@ -365,7 +365,7 @@ curl -X GET "https://api.redpanda.com/v1beta2/operations/${REDPANDA_ID}" \
365365
Example retrieving cluster:
366366

367367
```bash
368-
curl -X GET "https://api.redpanda.com/v1beta2/clusters/${REDPANDA_ID}" \
368+
curl -X GET "https://api.redpanda.com/v1/clusters/${REDPANDA_ID}" \
369369
-H "accept: application/json"\
370370
-H "content-type: application/json" \
371371
-H "authorization: Bearer ${BEARER_TOKEN}"
@@ -376,7 +376,7 @@ curl -X GET "https://api.redpanda.com/v1beta2/clusters/${REDPANDA_ID}" \
376376
To delete the cluster, first send a DELETE request to the Cloud API, and retrieve the `resource_id` of the DELETE operation. Then run the `rpk` command to destroy the cluster identified by the `resource_id`.
377377

378378
```bash
379-
export REDPANDA_ID=$(curl -X DELETE "https://api.redpanda.com/v1beta2/clusters/${REDPANDA_ID}" \
379+
export REDPANDA_ID=$(curl -X DELETE "https://api.redpanda.com/v1/clusters/${REDPANDA_ID}" \
380380
-H "accept: application/json"\
381381
-H "content-type: application/json" \
382382
-H "authorization: Bearer ${BEARER_TOKEN}" | jq -r '.operation.resource_id')

modules/get-started/pages/cluster-types/byoc/azure/create-byoc-cluster-azure.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,11 @@ To enable xref:develop:managed-connectors/index.adoc[Kafka Connect] for clusters
128128

129129
. Authenticate to the Redpanda Cloud API. Follow the steps in xref:manage:api/cloud-api-authentication.adoc[].
130130

131-
. Enable Kafka Connect by making a xref:api:ROOT:cloud-controlplane-api.adoc#patch-/v1beta2/clusters/-cluster.id-[`PATCH /v1beta2/clusters`] request:
131+
. Enable Kafka Connect by making a xref:api:ROOT:cloud-controlplane-api.adoc#patch-/v1/clusters/-cluster.id-[`PATCH /v1/clusters`] request:
132132
+
133133
[,bash]
134134
----
135-
curl -X PATCH "https://api.redpanda.com/v1beta2/clusters/<cluster-id>" \
135+
curl -X PATCH "https://api.redpanda.com/v1/clusters/<cluster-id>" \
136136
-H 'Accept: application/json' \
137137
-H 'Authorization: Bearer <token>' \
138138
-H 'Content-Type: application/json' \

modules/get-started/pages/cluster-types/byoc/azure/vnet-azure.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ EOF
326326
. Use the Cloud API to create the network and retrieve the network ID:
327327
+
328328
```bash
329-
export REDPANDA_NETWORK_ID=$(curl -X POST "https://api.redpanda.com/v1beta2/networks" \
329+
export REDPANDA_NETWORK_ID=$(curl -X POST "https://api.redpanda.com/v1/networks" \
330330
-H "accept: application/json" \
331331
-H "content-type: application/json" \
332332
-H "authorization: Bearer ${BEARER_TOKEN}" \
@@ -396,7 +396,7 @@ TIP: See the full list of zones and tiers available with each provider in the xr
396396
. Make a Cloud API call to create a Redpanda network and get the network ID from the response in JSON `.operation.metadata.network_id`.
397397
+
398398
```bash
399-
export REDPANDA_ID=$(curl -X POST "https://api.redpanda.com/v1beta2/clusters" \
399+
export REDPANDA_ID=$(curl -X POST "https://api.redpanda.com/v1/clusters" \
400400
-H "accept: application/json"\
401401
-H "content-type: application/json" \
402402
-H "authorization: Bearer ${BEARER_TOKEN}" \
@@ -428,7 +428,7 @@ Cluster creation is an example of an operation that can take a longer period of
428428
Example using the returned `operation_id`:
429429

430430
```bash
431-
curl -X GET "https://api.redpanda.com/v1beta2/operations/<operation_id of operation from previous step>" \
431+
curl -X GET "https://api.redpanda.com/v1/operations/<operation-id>" \
432432
-H "accept: application/json"\
433433
-H "content-type: application/json" \
434434
-H "authorization: Bearer ${BEARER_TOKEN}"
@@ -437,7 +437,7 @@ curl -X GET "https://api.redpanda.com/v1beta2/operations/<operation_id of operat
437437
Example retrieving cluster:
438438

439439
```bash
440-
curl -X GET "https://api.redpanda.com/v1beta2/clusters/<resource_id of cluster from previous step>" \
440+
curl -X GET "https://api.redpanda.com/v1/clusters/<resource-id>" \
441441
-H "accept: application/json"\
442442
-H "content-type: application/json" \
443443
-H "authorization: Bearer ${BEARER_TOKEN}"
@@ -448,7 +448,7 @@ curl -X GET "https://api.redpanda.com/v1beta2/clusters/<resource_id of cluster f
448448
To delete the cluster, first send a DELETE request to the Cloud API, and retrieve the `resource_id` of the DELETE operation. Then run the `rpk` command to destroy the cluster identified by the `resource_id`.
449449

450450
```bash
451-
export REDPANDA_ID=$(curl -X DELETE "https://api.redpanda.com/v1beta2/clusters/${REDPANDA_ID}" \
451+
export REDPANDA_ID=$(curl -X DELETE "https://api.redpanda.com/v1/clusters/${REDPANDA_ID}" \
452452
-H "accept: application/json"\
453453
-H "content-type: application/json" \
454454
-H "authorization: Bearer ${BEARER_TOKEN}" | jq -r '.operation.resource_id')

modules/get-started/pages/cluster-types/byoc/remote-read-replicas.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,13 @@ This should be done in the Terraform of the reader cluster.
5353

5454
Add or remove reader clusters to a source cluster in Redpanda Cloud with the xref:redpanda-cloud:manage:api/controlplane/index.adoc[Cloud Control Plane API]. For information on accessing the Cloud API, see xref:manage:api/cloud-api-authentication.adoc[].
5555

56-
. To update your source cluster to add one or more reader cluster IDs, make a xref:api:ROOT:cloud-controlplane-api.adoc#patch-/v1beta2/clusters/-cluster.id-[`PATCH /v1beta2/clusters/{cluster.id}`] request. The full list of clusters is expected on every call. If an ID is removed from the list, it is removed as a reader cluster.
56+
. To update your source cluster to add one or more reader cluster IDs, make a xref:api:ROOT:cloud-controlplane-api.adoc#patch-/v1/clusters/-cluster.id-[`PATCH /v1/clusters/{cluster.id}`] request. The full list of clusters is expected on every call. If an ID is removed from the list, it is removed as a reader cluster.
5757
+
5858
```bash
5959
export SOURCE_CLUSTER_ID=.......
6060
export READER_CLUSTER_ID=.......
6161

62-
curl -X PATCH $API_HOST/v1beta2/clusters/$SOURCE_CLUSTER_ID \
62+
curl -X PATCH $API_HOST/v1/clusters/$SOURCE_CLUSTER_ID \
6363
-H "Content-Type: application/json" \
6464
-H "Authorization: Bearer $API_TOKEN" \
6565
-d @- << EOF
@@ -69,12 +69,12 @@ curl -X PATCH $API_HOST/v1beta2/clusters/$SOURCE_CLUSTER_ID \
6969
EOF
7070
```
7171

72-
. Optional: To see the list of reader clusters on a given source cluster, make a xref:api:ROOT:cloud-controlplane-api.adoc#get-/v1beta2/clusters/-id-[`GET /v1beta2/clusters/\{id}`] request:
72+
. Optional: To see the list of reader clusters on a given source cluster, make a xref:api:ROOT:cloud-controlplane-api.adoc#get-/v1/clusters/-id-[`GET /v1/clusters/\{id}`] request:
7373
+
7474
```bash
7575
export SOURCE_CLUSTER_ID=.......
7676

77-
curl -X GET $API_HOST/v1beta2/clusters/$SOURCE_CLUSTER_ID \
77+
curl -X GET $API_HOST/v1/clusters/$SOURCE_CLUSTER_ID \
7878
-H "Content-Type: application/json" \
7979
-H "Authorization: Bearer $API_TOKEN"
8080
```

modules/get-started/pages/whats-new-cloud.adoc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
= What's New in Redpanda Cloud
22
:description: Summary of new features in Redpanada Cloud.
3-
:tag-pipeline-service: api:ROOT:cloud-dataplane-api.adoc#tag--PipelineService
3+
:tag-pipeline-service: api:ROOT:cloud-dataplane-api.adoc#tag--Redpanda-Connect-Pipeline
44
:page-aliases: deploy:deployment-option/cloud/whats-new-cloud.adoc
55
:page-toclevels: 1
66

@@ -9,6 +9,12 @@ This page lists new features added in Redpanda Cloud.
99

1010
== March 2025
1111

12+
=== Cloud API: GA
13+
14+
The xref:manage:api/cloud-api-overview.adoc[Cloud API] is now generally available. It includes endpoints for xref:manage:api/cloud-serverless-controlplane-api.adoc[managing Serverless clusters], configuring RBAC in xref:manage:api/cloud-byoc-controlplane-api.adoc#manage-rbac[BYOC], xref:manage:api/cloud-serverless-controlplane-api.adoc#manage-rbac[Serverless], and xref:manage:api/cloud-dedicated-controlplane-api.adoc#manage-rbac[Dedicated] clusters, and xref:manage:api/cloud-dataplane-api.adoc#use-redpanda-connect[using Redpanda Connect].
15+
16+
To get started, try the xref:manage:api/cloud-api-quickstart.adoc[Cloud API Quickstart], or see the full xref:api:ROOT:cloud-controlplane-api.adoc[Control Plane API] and xref:api:ROOT:cloud-dataplane-api.adoc[Data Plane API] reference documentation.
17+
1218
=== Support for additional regions
1319

1420
xref:reference:tiers/byoc-tiers.adoc#byoc-supported-regions[BYOC clusters] on GCP now support the europe-southwest1 (Madrid) region.

modules/manage/pages/api/cloud-api-authentication.adoc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
:page-aliases: deploy:deployment-option/cloud/api/cloud-api-authentication.adoc
44
:page-api: cloud
55
:page-api-slot: auth
6-
:page-beta: true
76

87
The Cloud API uses the Client Credentials Flow as defined in https://datatracker.ietf.org/doc/html/rfc6749#section-4.4O[Auth 2.0 RFC 6749, section 4.4^]. In Redpanda Cloud, you must first create a *service account* through which you can authenticate requests to the Cloud API. The service account is associated with your Redpanda Cloud organization. The service account acts as an OAuth 2.0 client that provides its credentials (client ID and client secret) to the API authentication server. The authentication server grants an access token in return. You can then include the access token in each request to the API.
98

0 commit comments

Comments
 (0)