cluster.provision-azure-vm ​
Provision an Azure VM-backed Kubernetes cluster, register it as a Kubernetes connection, and verify API access.
Overview ​
| Property | Value |
|---|---|
| Workflow type | Dag |
| Library | App-clusters-azure |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
organization_uuid | uuid | Yes | — | Organization that will own the generated Kubernetes connection. |
azure_connection_uuid | uuid | Yes | — | Azure CloudConnection UUID used for provider API calls. |
resource_group | string | Yes | — | Azure resource group. |
zone | string | Yes | — | GCE zone; mapped to azure.compute.vm.ensure region. |
cluster_name | string | Yes | — | Logical Kubernetes cluster name and VM default name. |
vm_name | string | No | — | GCE VM/MIG name; defaults to cluster_name. |
display_name | string | No | — | Display name for the registered Kubernetes connection. |
network_name | string | No | — | VPC network name to validate and secure. |
instance_type | string | No | — | GCE machine type. |
cpu | integer | No | — | vCPU count when supported by LTIP. |
memory_gb | integer | No | — | Memory GiB when supported by LTIP. |
image | string | No | — | VM OS image. |
kubernetes_distribution | string | No | — | Kubernetes bootstrap distribution. |
kubernetes_version | string | No | — | Kubernetes version to install when supported. |
ssh_source_ranges | json | No | — | Optional CIDRs for SSH bootstrap/admin access. |
api_server_source_ranges | json | No | — | CIDRs allowed to reach the Kubernetes API. |
labels | json | No | — | Provider labels and connection metadata. |
metadata | json | No | — | Additional VM metadata. |
register_connection | boolean | No | — | Register a Kubernetes CloudConnection after bootstrap. |
verify_connection | boolean | No | — | Verify the registered Kubernetes CloudConnection. |
timeout_seconds | integer | No | — | Bootstrap collection timeout. |
poll_interval | integer | No | — | Bootstrap collection poll interval. |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
validate_credentials | json | No | — | Output from azure.auth.validate_credentials. |
vm_describe | json | No | — | Output from azure.compute.vm.describe. |
organization_uuid | uuid | No | — | Echoed organization UUID. |
azure_connection_uuid | uuid | No | — | Azure CloudConnection UUID used. |
kubernetes_connection_uuid | uuid | No | — | Registered Kubernetes CloudConnection UUID. |
resource_group | string | No | — | Azure resource group. |
zone | string | No | — | GCE zone. |
cluster_name | string | No | — | Logical Kubernetes cluster name. |
vm_name | string | No | — | VM/MIG name. |
provider_resource_id | string | No | — | Provider VM/MIG resource ID. |
endpoint | string | No | — | Kubernetes API endpoint. |
ensure_vm | json | No | — | Output from azure.compute.vm.ensure. |
collect_kubeconfig | json | No | — | Output from cluster.azure-vm.collect-kubeconfig; may contain sensitive kubeconfig material. |
register_connection | json | No | — | Output from cluster.register-kubernetes-connection. |
verify_connection | json | No | — | Output from cluster.verify-kubernetes-connection. |
failure_reason | string | No | — | Engine failure reason. |
failed_step | json | No | — | Failed DAG step. |
failed_layer | json | No | — | Failed DAG layer. |
failed_at_state | json | No | — | Failed state metadata. |
error | string | No | — | Error message. |
error_type | string | No | — | Error class. |
failure_type | string | No | — | — |
failed_action | string | No | — | — |
DAG Layers ​
| # | Layer | Steps | Compensation |
|---|---|---|---|
| 1 | preflight | azure.auth.validate_credentials, azure.compute.vm.describe | — |
| 2 | vm | azure.compute.vm.create | — |
| 3 | connection_material | cluster.azure-vm.collect-kubeconfig | — |
| 4 | register | cluster.register-kubernetes-connection | — |
| 5 | verify | cluster.verify-kubernetes-connection | — |
Execution Flow ​
Sub-workflows ​
| Sub-workflow | Step name |
|---|---|
azure.auth.validate_credentials | validate_credentials |
azure.compute.vm.describe | vm_describe |
azure.compute.vm.create | ensure_vm |
cluster.azure-vm.collect-kubeconfig | collect_kubeconfig |
cluster.register-kubernetes-connection | register_connection |
cluster.verify-kubernetes-connection | verify_connection |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "cluster.provision-azure-vm",
"initial_data": {
"organization_uuid": "value",
"azure_connection_uuid": "value",
"resource_group": "value",
"zone": "value"
}
}