cluster.aws-vm.collect-kubeconfig ​
Collect Kubernetes kubeconfig from an AWS VM through SSM Run Command.
Overview ​
| Property | Value |
|---|---|
| Workflow type | Linear |
| Library | App-clusters-aws |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
organization_uuid | uuid | No | — | Organization UUID for audit context. |
aws_connection_uuid | uuid | Yes | — | AWS CloudConnection UUID used for SSM calls. |
instance_id | string | Yes | — | EC2 instance ID managed by SSM. |
region | string | No | — | AWS region. |
endpoint_host | string | No | — | Host/IP to write into kubeconfig server URL. |
api_server | string | No | — | Full Kubernetes API server URL override. |
bootstrap_commands | list | No | — | Optional shell commands that install/start Kubernetes. |
bootstrap_document_name | string | No | — | SSM document for bootstrap; defaults to AWS-RunShellScript. |
bootstrap_timeout_seconds | integer | No | — | Timeout for bootstrap command completion. |
kubeconfig_output_command | string | No | — | Shell command that prints kubeconfig to stdout. |
kubeconfig_document_name | string | No | — | SSM document for kubeconfig fetch; defaults to AWS-RunShellScript. |
kubeconfig_timeout_seconds | integer | No | — | Timeout for kubeconfig command completion. |
poll_interval_seconds | integer | No | — | Polling interval for SSM command completion. |
require_managed_instance | boolean | No | — | Wait for SSM managed-instance visibility before commands. |
managed_instance_timeout_seconds | integer | No | — | Timeout while waiting for SSM managed-instance visibility. |
actor | string | No | — | Caller initiating collection. |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
organization_uuid | uuid | No | — | Organization UUID for audit context. |
aws_connection_uuid | uuid | Yes | — | AWS CloudConnection UUID used for SSM calls. |
instance_id | string | Yes | — | EC2 instance ID managed by SSM. |
region | string | No | — | AWS region. |
endpoint_host | string | No | — | Host/IP to write into kubeconfig server URL. |
api_server | string | No | — | Full Kubernetes API server URL override. |
bootstrap_commands | list | No | — | Optional shell commands that install/start Kubernetes. |
bootstrap_document_name | string | No | — | SSM document for bootstrap; defaults to AWS-RunShellScript. |
bootstrap_timeout_seconds | integer | No | — | Timeout for bootstrap command completion. |
kubeconfig_output_command | string | No | — | Shell command that prints kubeconfig to stdout. |
kubeconfig_document_name | string | No | — | SSM document for kubeconfig fetch; defaults to AWS-RunShellScript. |
kubeconfig_timeout_seconds | integer | No | — | Timeout for kubeconfig command completion. |
poll_interval_seconds | integer | No | — | Polling interval for SSM command completion. |
require_managed_instance | boolean | No | — | Wait for SSM managed-instance visibility before commands. |
managed_instance_timeout_seconds | integer | No | — | Timeout while waiting for SSM managed-instance visibility. |
actor | string | No | — | Caller initiating collection. |
managed_instance | json | No | — | Output from aws.ssm.describe_instance_information. |
bootstrap_command | json | No | — | Output from bootstrap aws.ssm.send_command. |
bootstrap_invocation | json | No | — | Final bootstrap command invocation. |
fetch_kubeconfig_command | json | No | — | Output from kubeconfig aws.ssm.send_command. |
fetch_kubeconfig_invocation | json | No | — | Final kubeconfig command invocation. |
kubeconfig | string | No | — | Collected kubeconfig content. |
credential_payload | json | No | — | Kubernetes credential payload for registration. |
status | string | No | — | Collection status. |
completed_at | string | No | — | ISO completion timestamp. |
failure_reason | string | No | — | Human-readable 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. |
failed_at | string | No | — | ISO failure timestamp. |
States ​
| State | Initial | Terminal | Success | Auto-advance | Description |
|---|---|---|---|---|---|
pending | Yes | No | — | collect | — |
collecting | No | No | — | complete | — |
completed | No | Yes | Yes | — | — |
failed | No | Yes | No | — | — |
State Diagram ​
Transitions ​
| From | Action | To | Description |
|---|---|---|---|
pending | collect | collecting | — |
collecting | complete | completed | — |
* (any state) | fail | failed | — |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "cluster.aws-vm.collect-kubeconfig",
"initial_data": {
"aws_connection_uuid": "value",
"instance_id": "value"
}
}