a9cd7750f4
CI / unit-test (push) Has been cancelled
CI / detect-changes (push) Has been cancelled
CI / build (push) Has been cancelled
Publish docs via GitHub Pages / Deploy docs (push) Has been cancelled
CI / test-harness (push) Has been cancelled
CI / generate-e2e-matrix (push) Has been cancelled
CI / e2e (push) Has been cancelled
CI / build-ui (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
UI v2 Integration CI / E2E (Integration) (push) Has been cancelled
UI v2 CI / Lint, Format & Test (push) Has been cancelled
UI v2 CI / E2E (Mocked) (push) Has been cancelled
211 lines
5.7 KiB
JSON
211 lines
5.7 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://conductoross.org/schemas/TaskDef.json",
|
|
"title": "TaskDef",
|
|
"description": "Task definition schema",
|
|
"type": "object",
|
|
"required": ["name"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Unique name identifying the task",
|
|
"minLength": 1
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Description of the task"
|
|
},
|
|
"retryCount": {
|
|
"type": "integer",
|
|
"description": "Number of times to retry the task on failure",
|
|
"minimum": 0,
|
|
"default": 3
|
|
},
|
|
"timeoutSeconds": {
|
|
"type": "integer",
|
|
"description": "Time in seconds after which the task is marked as TIMED_OUT if not completed",
|
|
"minimum": 0
|
|
},
|
|
"inputKeys": {
|
|
"type": "array",
|
|
"description": "List of keys expected in the input",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": []
|
|
},
|
|
"outputKeys": {
|
|
"type": "array",
|
|
"description": "List of keys expected in the output",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": []
|
|
},
|
|
"timeoutPolicy": {
|
|
"type": "string",
|
|
"description": "Policy to apply when task times out",
|
|
"enum": ["RETRY", "TIME_OUT_WF", "ALERT_ONLY"],
|
|
"default": "TIME_OUT_WF"
|
|
},
|
|
"retryLogic": {
|
|
"type": "string",
|
|
"description": "Mechanism for retry logic",
|
|
"enum": ["FIXED", "EXPONENTIAL_BACKOFF", "LINEAR_BACKOFF"],
|
|
"default": "FIXED"
|
|
},
|
|
"retryDelaySeconds": {
|
|
"type": "integer",
|
|
"description": "Time in seconds to wait before retrying the task",
|
|
"minimum": 0,
|
|
"default": 60
|
|
},
|
|
"responseTimeoutSeconds": {
|
|
"type": "integer",
|
|
"description": "Time in seconds after which the task is re-queued if no response is received",
|
|
"minimum": 1,
|
|
"default": 3600
|
|
},
|
|
"concurrentExecLimit": {
|
|
"type": "integer",
|
|
"description": "Maximum number of concurrent task executions",
|
|
"minimum": 0
|
|
},
|
|
"inputTemplate": {
|
|
"type": "object",
|
|
"description": "Template for task input parameters",
|
|
"additionalProperties": true,
|
|
"default": {}
|
|
},
|
|
"rateLimitPerFrequency": {
|
|
"type": "integer",
|
|
"description": "Maximum number of task executions per rateLimitFrequencyInSeconds",
|
|
"minimum": 0
|
|
},
|
|
"rateLimitFrequencyInSeconds": {
|
|
"type": "integer",
|
|
"description": "Frequency window in seconds for rate limiting",
|
|
"minimum": 1
|
|
},
|
|
"isolationGroupId": {
|
|
"type": "string",
|
|
"description": "Isolation group identifier for task execution"
|
|
},
|
|
"executionNameSpace": {
|
|
"type": "string",
|
|
"description": "Namespace for task execution"
|
|
},
|
|
"ownerEmail": {
|
|
"type": "string",
|
|
"description": "Email address of the task definition owner",
|
|
"format": "email"
|
|
},
|
|
"pollTimeoutSeconds": {
|
|
"type": "integer",
|
|
"description": "Time in seconds after which the task poll times out",
|
|
"minimum": 0
|
|
},
|
|
"backoffScaleFactor": {
|
|
"type": "integer",
|
|
"description": "Backoff multiplier for LINEAR_BACKOFF retry logic",
|
|
"minimum": 1,
|
|
"default": 1
|
|
},
|
|
"baseType": {
|
|
"type": "string",
|
|
"description": "Base type of the task (for task type inheritance)"
|
|
},
|
|
"totalTimeoutSeconds": {
|
|
"type": "integer",
|
|
"description": "Total timeout including all retries",
|
|
"minimum": 0
|
|
},
|
|
"inputSchema": {
|
|
"$ref": "#/definitions/SchemaDef"
|
|
},
|
|
"outputSchema": {
|
|
"$ref": "#/definitions/SchemaDef"
|
|
},
|
|
"enforceSchema": {
|
|
"type": "boolean",
|
|
"description": "Whether to enforce schema validation",
|
|
"default": false
|
|
},
|
|
"ownerApp": {
|
|
"type": "string",
|
|
"description": "Owner application name"
|
|
},
|
|
"createTime": {
|
|
"type": "integer",
|
|
"description": "Creation timestamp in milliseconds",
|
|
"format": "int64"
|
|
},
|
|
"updateTime": {
|
|
"type": "integer",
|
|
"description": "Last update timestamp in milliseconds",
|
|
"format": "int64"
|
|
},
|
|
"createdBy": {
|
|
"type": "string",
|
|
"description": "User who created this task definition"
|
|
},
|
|
"updatedBy": {
|
|
"type": "string",
|
|
"description": "User who last updated this task definition"
|
|
}
|
|
},
|
|
"definitions": {
|
|
"SchemaDef": {
|
|
"type": "object",
|
|
"required": ["name", "type"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Schema name"
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"description": "Schema version",
|
|
"default": 1
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"description": "Schema type",
|
|
"enum": ["JSON", "AVRO", "PROTOBUF"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"description": "Schema definition data",
|
|
"additionalProperties": true
|
|
},
|
|
"externalRef": {
|
|
"type": "string",
|
|
"description": "External schema reference (e.g., schema registry reference)"
|
|
},
|
|
"ownerApp": {
|
|
"type": "string",
|
|
"description": "Owner application"
|
|
},
|
|
"createTime": {
|
|
"type": "integer",
|
|
"description": "Creation timestamp",
|
|
"format": "int64"
|
|
},
|
|
"updateTime": {
|
|
"type": "integer",
|
|
"description": "Update timestamp",
|
|
"format": "int64"
|
|
},
|
|
"createdBy": {
|
|
"type": "string",
|
|
"description": "Creator"
|
|
},
|
|
"updatedBy": {
|
|
"type": "string",
|
|
"description": "Last updater"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|