Skip to content
Proud to collaborate with Microsoft for Startups

cluster.provision ​

Provider-neutral Kubernetes cluster provisioning orchestration that returns a verified Kubernetes CloudConnection.

Provider-neutral Kubernetes cluster provisioning orchestration.

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-clusters
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—Organization UUID for tenant isolation.
providerstringYes—Provider key: aws, gcp, or magalucloud.
cluster_kindstringYes—eks, gke, aws-vm, gcp-vm, or mgc-kubernetes.
namestringYes—Desired cluster display name.
provider_connection_uuiduuidYes—CloudConnection UUID for the cloud provider account.
regionstringNo—Primary provider region.
zonesjsonNo—Provider zones for multi-zone clusters.
kubernetes_versionstringNo—Requested Kubernetes version.
network_configjsonNo—Provider-specific network inputs.
node_configjsonNo—Node pool or VM sizing inputs.
provider_configjsonNo—Provider-specific cluster options for supported provider workflows.
tagsjsonNo—Provider tags or labels.
bootstrap_orkestia_accessbooleanNo—Whether to run cluster.bootstrap-orkestia-access after verification.
namespacestringNo—Namespace for optional Orkestia bootstrap; defaults to orkestia.
service_account_namestringNo—ServiceAccount for optional bootstrap.
cluster_role_namestringNo—ClusterRole to bind during optional bootstrap.
actorstringNo—Caller initiating the workflow.
timeout_secondsintegerNo—Provider and verification timeout.
poll_intervalintegerNo—Provider polling interval.

Output Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidNo—Organization UUID echoed from input.
cluster_uuiduuidNo—Persisted logical cluster UUID.
providerstringNo—Provider key.
cluster_kindstringNo—Cluster kind.
namestringNo—Cluster display name.
provider_connection_uuiduuidNo—Cloud provider CloudConnection UUID.
provider_cluster_refstringNo—Provider-side cluster identifier.
regionstringNo—Primary provider region.
statusstringNo—Normalized lifecycle status.
phasestringNo—Provider-specific phase.
connection_uuiduuidNo—Persisted Kubernetes CloudConnection UUID.
provider_workflowstringNo—Provider provision workflow type.
provider_inputjsonNo—Input sent to the provider provision workflow.
provider_child_workflow_idstringNo—Workflow id for the provider provision child.
bootstrap_orkestia_accessbooleanNo—Whether to run cluster.bootstrap-orkestia-access after verification.
namespacestringNo—Namespace for optional Orkestia bootstrap.
service_account_namestringNo—ServiceAccount for optional bootstrap.
cluster_role_namestringNo—ClusterRole to bind during optional bootstrap.
actorstringNo—Caller initiating the workflow.
provider_provisionjsonNo—Output from the selected provider provision workflow.
register_connectionjsonNo—Output from cluster.register-kubernetes-connection.
verificationjsonNo—Output from cluster.verify-kubernetes-connection.
bootstrapjsonNo—Output from optional cluster.bootstrap-orkestia-access.
refresh_statusjsonNo—Output from cluster.refresh-status.
createdbooleanNo—True when a new cluster record was created.
completed_atstringNo—ISO completion timestamp.
retried_fromstringNo—Previous terminal state when a failed run was retried.
retry_countintegerNo—Number of retry attempts recorded by the workflow engine.
failure_reasonstringNo—Human-readable failure reason.
failure_typestringNo—Failure category.
failed_actionstringNo—Action that failed.
failed_stepjsonNo—Failed logical step or child workflow.
failed_layerjsonNo—Engine failed layer when applicable.
failed_at_statestringNo—State where failure occurred.
errorstringNo—Error message.
error_typestringNo—Error class.
failed_atstringNo—ISO failure timestamp.

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—prepare_provider—
finalizingNoNo—complete—
provisioning_providerNoNo———
registering_connectionNoNo—register_connection—
verifying_connectionNoNo—finalize—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingprepare_providerprovisioning_provider—
provisioning_providerchild_doneregistering_connection—
provisioning_providerchild_failedfailed—
registering_connectionregister_connectionverifying_connection—
verifying_connectionfinalizefinalizing—
finalizingcompletecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "cluster.provision",
  "initial_data": {
    "organization_uuid": "value",
    "provider": "value",
    "cluster_kind": "value",
    "name": "value"
  }
}