Argo Workflows · Schema
io.argoproj.workflow.v1alpha1.NodeStatus
NodeStatus contains status information about an individual node in the workflow
CNCFContainersData ProcessingKubernetesMachine LearningOpen SourceWorkflow Engine
Properties
| Name | Type | Description |
|---|---|---|
| boundaryID | string | BoundaryID indicates the node ID of the associated template root node in which this node belongs to |
| children | array | Children is a list of child node IDs |
| daemoned | boolean | Daemoned tracks whether or not this node was daemoned and need to be terminated |
| displayName | string | DisplayName is a human readable representation of the node. Unique within a template boundary |
| estimatedDuration | integer | EstimatedDuration in seconds. |
| failedPodRestarts | integer | FailedPodRestarts tracks the number of times the pod for this node was restarted due to infrastructure failures before the main container started. |
| finishedAt | object | Time at which this node completed |
| hostNodeName | string | HostNodeName name of the Kubernetes node on which the Pod is running, if applicable |
| id | string | ID is a unique identifier of a node within the worklow It is implemented as a hash of the node name, which makes the ID deterministic |
| inputs | object | Inputs captures input parameter values and artifact locations supplied to this template invocation |
| memoizationStatus | object | MemoizationStatus holds information about cached nodes |
| message | string | A human readable message indicating details about why the node is in this condition. |
| name | string | Name is unique name in the node tree used to generate the node ID |
| nodeFlag | object | NodeFlag tracks some history of node. e.g.) hooked, retried, etc. |
| outboundNodes | array | OutboundNodes tracks the node IDs which are considered "outbound" nodes to a template invocation. For every invocation of a template, there are nodes which we considered as "outbound". Essentially, th |
| outputs | object | Outputs captures output parameter values and artifact locations produced by this template invocation |
| phase | string | Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values "Pending", "Running" before the node is completed, or "Succeeded", |
| podIP | string | PodIP captures the IP of the pod for daemoned steps |
| progress | string | Progress to completion |
| resourcesDuration | object | ResourcesDuration is indicative, but not accurate, resource duration. This is populated when the nodes completes. |
| restartingPodUID | string | RestartingPodUID tracks the UID of the pod that is currently being restarted. This prevents duplicate restart attempts when the controller processes the same failed pod multiple times. Cleared when th |
| startedAt | object | Time at which this node started |
| synchronizationStatus | object | SynchronizationStatus is the synchronization status of the node |
| taskResultSynced | boolean | TaskResultSynced is used to determine if the node's output has been received |
| templateName | string | TemplateName is the template name which this node corresponds to. Not applicable to virtual nodes (e.g. Retry, StepGroup) |
| templateRef | object | TemplateRef is the reference to the template resource which this node corresponds to. Not applicable to virtual nodes (e.g. Retry, StepGroup) |
| templateScope | string | TemplateScope is the template scope in which the template of this node was retrieved. |
| type | string | Type indicates type of node |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/argo-workflows/refs/heads/main/json-schema/argo-workflows-io-argoproj-workflow-v1alpha1-node-status-schema.json",
"title": "io.argoproj.workflow.v1alpha1.NodeStatus",
"description": "NodeStatus contains status information about an individual node in the workflow",
"type": "object",
"properties": {
"boundaryID": {
"description": "BoundaryID indicates the node ID of the associated template root node in which this node belongs to",
"type": "string"
},
"children": {
"description": "Children is a list of child node IDs",
"type": "array",
"items": {
"type": "string"
}
},
"daemoned": {
"description": "Daemoned tracks whether or not this node was daemoned and need to be terminated",
"type": "boolean"
},
"displayName": {
"description": "DisplayName is a human readable representation of the node. Unique within a template boundary",
"type": "string"
},
"estimatedDuration": {
"description": "EstimatedDuration in seconds.",
"type": "integer"
},
"failedPodRestarts": {
"description": "FailedPodRestarts tracks the number of times the pod for this node was restarted due to infrastructure failures before the main container started.",
"type": "integer"
},
"finishedAt": {
"description": "Time at which this node completed",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"hostNodeName": {
"description": "HostNodeName name of the Kubernetes node on which the Pod is running, if applicable",
"type": "string"
},
"id": {
"description": "ID is a unique identifier of a node within the worklow It is implemented as a hash of the node name, which makes the ID deterministic",
"type": "string"
},
"inputs": {
"description": "Inputs captures input parameter values and artifact locations supplied to this template invocation",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Inputs"
},
"memoizationStatus": {
"description": "MemoizationStatus holds information about cached nodes",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.MemoizationStatus"
},
"message": {
"description": "A human readable message indicating details about why the node is in this condition.",
"type": "string"
},
"name": {
"description": "Name is unique name in the node tree used to generate the node ID",
"type": "string"
},
"nodeFlag": {
"description": "NodeFlag tracks some history of node. e.g.) hooked, retried, etc.",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.NodeFlag"
},
"outboundNodes": {
"description": "OutboundNodes tracks the node IDs which are considered \"outbound\" nodes to a template invocation. For every invocation of a template, there are nodes which we considered as \"outbound\". Essentially, these are last nodes in the execution sequence to run, before the template is considered completed. These nodes are then connected as parents to a following step.\n\nIn the case of single pod steps (i.e. container, script, resource templates), this list will be nil since the pod itself is already considered the \"outbound\" node. In the case of DAGs, outbound nodes are the \"target\" tasks (tasks with no children). In the case of steps, outbound nodes are all the containers involved in the last step group. NOTE: since templates are composable, the list of outbound nodes are carried upwards when a DAG/steps template invokes another DAG/steps template. In other words, the outbound nodes of a template, will be a superset of the outbound nodes of its last children.",
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"description": "Outputs captures output parameter values and artifact locations produced by this template invocation",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Outputs"
},
"phase": {
"description": "Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values \"Pending\", \"Running\" before the node is completed, or \"Succeeded\", \"Skipped\", \"Failed\", \"Error\", or \"Omitted\" as a final state.",
"type": "string"
},
"podIP": {
"description": "PodIP captures the IP of the pod for daemoned steps",
"type": "string"
},
"progress": {
"description": "Progress to completion",
"type": "string"
},
"resourcesDuration": {
"description": "ResourcesDuration is indicative, but not accurate, resource duration. This is populated when the nodes completes.",
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int64"
}
},
"restartingPodUID": {
"description": "RestartingPodUID tracks the UID of the pod that is currently being restarted. This prevents duplicate restart attempts when the controller processes the same failed pod multiple times. Cleared when the replacement pod starts running.",
"type": "string"
},
"startedAt": {
"description": "Time at which this node started",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"synchronizationStatus": {
"description": "SynchronizationStatus is the synchronization status of the node",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.NodeSynchronizationStatus"
},
"taskResultSynced": {
"description": "TaskResultSynced is used to determine if the node's output has been received",
"type": "boolean"
},
"templateName": {
"description": "TemplateName is the template name which this node corresponds to. Not applicable to virtual nodes (e.g. Retry, StepGroup)",
"type": "string"
},
"templateRef": {
"description": "TemplateRef is the reference to the template resource which this node corresponds to. Not applicable to virtual nodes (e.g. Retry, StepGroup)",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.TemplateRef"
},
"templateScope": {
"description": "TemplateScope is the template scope in which the template of this node was retrieved.",
"type": "string"
},
"type": {
"description": "Type indicates type of node",
"type": "string"
}
},
"required": [
"id",
"name",
"type"
]
}