Skip to content
Proud to collaborate with Microsoft for Startups

cluster.provision-aks ​

Provision a AKS cluster, build Kubernetes connection material, register it, and verify API access.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-clusters-azure
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—Organization that will own the generated Kubernetes connection.
azure_connection_uuiduuidYes—Azure CloudConnection UUID used for provider API calls.
resource_groupstringYes—Azure resource group.
locationstringYes—AKS region or zone.
cluster_namestringYes—AKS cluster name.
display_namestringNo—Display name for the registered Kubernetes connection.
network_namestringNo—VPC network name to validate and pass to AKS.
subnetwork_namestringNo—Optional subnetwork name.
kubernetes_versionstringNo—Desired control-plane version.
release_channelstringNo—AKS release channel such as REGULAR.
initial_node_countintegerNo—Default node count for the legacy default pool when agent_pools is omitted.
machine_typestringNo—Default node machine type for the legacy pool or explicit node pools that omit machine_type.
disk_size_gbintegerNo—Default node boot disk size for explicit node pools.
node_service_accountstringNo—Default service account email for nodes.
agent_poolsjsonNo—Explicit AKS node pools to create after control-plane readiness. Each item may declare name, node_count, machine_type, disk_size_gb, disk_type, image_type, service_account, oauth_scopes, labels, tags, taints, metadata, autoscaling, management, upgrade_settings, version, max_pods_per_node, spot, or preemptible.
remove_default_agent_poolbooleanNo—Remove the default AKS pool during cluster creation; defaults true when agent_pools is supplied.
labelsjsonNo—Labels for provider resources and connection metadata.
private_clusterbooleanNo—Whether to create a private AKS cluster.
deletion_protectionbooleanNo—AKS deletion protection setting.
register_connectionbooleanNo—Register a Kubernetes CloudConnection after provisioning.
verify_connectionbooleanNo—Verify the registered Kubernetes CloudConnection.
actorstringNo—Caller initiating the workflow.
timeout_secondsintegerNo—Provider operation wait timeout.
poll_intervalintegerNo—Provider operation poll interval.

Output Schema ​

FieldTypeRequiredDefaultDescription
validate_credentialsjsonNo—Output from azure.auth.validate_credentials.
cluster_describejsonNo—Output from azure.aks.cluster.describe.
organization_uuiduuidNo—Echoed organization UUID.
azure_connection_uuiduuidNo—Azure CloudConnection UUID used.
kubernetes_connection_uuiduuidNo—Registered Kubernetes CloudConnection UUID.
resource_groupstringNo—Azure resource group.
locationstringNo—AKS region or zone.
cluster_namestringNo—AKS cluster name.
display_namestringNo—Display name for the registered Kubernetes connection.
network_namestringNo—VPC network name to validate and pass to AKS.
subnetwork_namestringNo—Optional subnetwork name.
kubernetes_versionstringNo—Desired control-plane version.
release_channelstringNo—AKS release channel such as REGULAR.
initial_node_countintegerNo—Default node count for the legacy default pool when agent_pools is omitted.
machine_typestringNo—Default node machine type for the legacy pool or explicit node pools that omit machine_type.
disk_size_gbintegerNo—Default node boot disk size for explicit node pools.
node_service_accountstringNo—Default service account email for nodes.
agent_poolsjsonNo—Explicit AKS node pools to create after control-plane readiness.
remove_default_agent_poolbooleanNo—Remove the default AKS pool during cluster creation.
labelsjsonNo—Labels for provider resources and connection metadata.
private_clusterbooleanNo—Whether to create a private AKS cluster.
deletion_protectionbooleanNo—AKS deletion protection setting.
actorstringNo—Caller initiating the workflow.
timeout_secondsintegerNo—Provider operation wait timeout.
poll_intervalintegerNo—Provider operation poll interval.
workflow_run_uuidstringNo—Engine DAG run UUID for child step state.
retried_fromstringNo—Previous terminal state restored by engine retry.
retry_countintegerNo—Number of retry attempts recorded by the engine.
endpointstringNo—Kubernetes API endpoint.
provider_resource_idstringNo—Provider-native AKS cluster resource ID.
provider_cluster_refstringNo—Provider-neutral alias for the AKS cluster resource ID.
statusstringNo—Final provider cluster status.
create_clusterjsonNo—Output from azure.aks.cluster.create.
wait_clusterjsonNo—Output from azure.aks.operation.wait.
create_agent_poolsjsonNo—Batch output from azure.aks.agent_pools.create.
wait_agent_poolsjsonNo—Batch output from azure.aks.agent_pools.wait_ready.
build_kubeconfigjsonNo—Output from azure.aks.build_kubeconfig; may contain sensitive kubeconfig material.
register_connectionjsonNo—Output from cluster.register-kubernetes-connection.
verify_connectionjsonNo—Output from cluster.verify-kubernetes-connection.
compensation_triggerjsonNo—DAG compensation trigger.
comp_current_layerjsonNo—Current compensation layer.
comp_queuejsonNo—Remaining compensation queue.
comp_retry_countjsonNo—Current compensation retry count.
failure_reasonstringNo—Engine failure reason.
failed_stepjsonNo—Failed DAG step.
failed_layerjsonNo—Failed DAG layer.
failed_at_statejsonNo—Failed state metadata.
errorstringNo—Error message.
error_typestringNo—Error class.
failure_typestringNo——
failed_actionstringNo——

DAG Layers ​

#LayerStepsCompensation
1preflightazure.auth.validate_credentials, azure.aks.cluster.describe—
2createazure.aks.cluster.create—
3waitazure.aks.operation.wait—
4create_agent_poolsazure.aks.agent_pools.create—
5wait_agent_poolsazure.aks.agent_pools.wait_ready—
6connection_materialazure.aks.build_kubeconfig—
7registercluster.register-kubernetes-connection—
8verifycluster.verify-kubernetes-connection—

Execution Flow ​

Sub-workflows ​

Sub-workflowStep name
azure.auth.validate_credentialsvalidate_credentials
azure.aks.cluster.describecluster_describe
azure.aks.cluster.createcreate_cluster
azure.aks.operation.waitwait_cluster
azure.aks.agent_pools.createcreate_agent_pools
azure.aks.agent_pools.wait_readywait_agent_pools
azure.aks.build_kubeconfigbuild_kubeconfig
cluster.register-kubernetes-connectionregister_connection
cluster.verify-kubernetes-connectionverify_connection

API Usage ​

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

{
  "workflow_type": "cluster.provision-aks",
  "initial_data": {
    "organization_uuid": "value",
    "azure_connection_uuid": "value",
    "resource_group": "value",
    "location": "value"
  }
}