Skip to Content
We are live but in Staging 🎉
WorkflowsWorkflow: Dedicated Cluster Lifecycle (gRPC and HTTP)

Workflow: Dedicated Cluster Lifecycle (gRPC and HTTP)

Last validated: 2026-05-11

Use this workflow when you need dedicated VBase capacity. Current CLI does not expose first-class cluster lifecycle commands.

Use Cases

  • dedicated performance/isolation requirements
  • controlled scale-up and scale-down
  • platform automation for cluster lifecycle

Step 1: Create dedicated cluster

gRPC:

grpcurl -insecure \ -H "authorization: Bearer $TOKEN" \ -d '{ "organization_id":"'"$ORG_ID"'", "name":"dedicated-vbase-1", "resource_config":{ "compute_units":3, "enable_auto_scaling":true, "max_compute_units":6, "enable_replicas":false, "replicas":1 } }' \ "rpc.dev.dodil.io:443" dodil.vbase.v1.VBaseService/CreateCluster

HTTP:

curl -sS -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ "https://api.dev.dodil.io:443/v1/vbase/clusters" \ -d '{ "organization_id":"'"$ORG_ID"'", "name":"dedicated-vbase-1", "resource_config":{"compute_units":3,"enable_auto_scaling":true,"max_compute_units":6} }'

Capture cluster.service_id from response. Use it as <cluster_service_id> below.

Step 2: Read current cluster config

gRPC (recommended):

grpcurl -insecure \ -H "authorization: Bearer $TOKEN" \ -d '{"cluster_id":"<cluster_service_id>"}' \ "rpc.dev.dodil.io:443" dodil.vbase.v1.VBaseService/GetCluster

HTTP note:

  • proto annotation path currently includes malformed {or} token for GetCluster; use gRPC as source-of-truth path.

Step 3: Scale cluster resources

gRPC:

grpcurl -insecure \ -H "authorization: Bearer $TOKEN" \ -d '{ "cluster_id":"<cluster_service_id>", "resource_config":{"compute_units":6,"enable_auto_scaling":true,"max_compute_units":12} }' \ "rpc.dev.dodil.io:443" dodil.vbase.v1.VBaseService/ScaleCluster

HTTP:

curl -sS -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ "https://api.dev.dodil.io:443/v1/vbase/clusters/<cluster_service_id>/scale" \ -d '{ "cluster_id":"<cluster_service_id>", "resource_config":{"compute_units":6,"enable_auto_scaling":true,"max_compute_units":12} }'

Step 4: Check in-progress tasks

gRPC (recommended):

grpcurl -insecure \ -H "authorization: Bearer $TOKEN" \ -d '{"cluster_id":"<cluster_service_id>"}' \ "rpc.dev.dodil.io:443" dodil.vbase.v1.VBaseService/GetClusterInProgressTasks

HTTP note:

  • method is read-oriented but annotation uses DELETE; prefer gRPC.

Step 5: Delete dedicated cluster

gRPC:

grpcurl -insecure \ -H "authorization: Bearer $TOKEN" \ -d '{"cluster_id":"<cluster_service_id>","force":true}' \ "rpc.dev.dodil.io:443" dodil.vbase.v1.VBaseService/DeleteCluster

HTTP:

curl -sS -X DELETE \ -H "Authorization: Bearer $TOKEN" \ "https://api.dev.dodil.io:443/v1/vbase/clusters/<cluster_service_id>"