Skip to content

Instantly share code, notes, and snippets.

@jeffmaury
Created April 21, 2020 08:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeffmaury/c7c564d30e7cc934ca2db6e3b58a4586 to your computer and use it in GitHub Desktop.
Save jeffmaury/c7c564d30e7cc934ca2db6e3b58a4586 to your computer and use it in GitHub Desktop.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/Pipeline",
"definitions": {
"ArrayOrString": {
"required": [
"Type",
"StringVal",
"ArrayVal"
],
"properties": {
"Type": {
"type": "string"
},
"StringVal": {
"type": "string"
},
"ArrayVal": {
"items": {
"type": "string"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object"
},
"Duration": {
"properties": {},
"additionalProperties": false,
"type": "object"
},
"FieldsV1": {
"properties": {},
"additionalProperties": false,
"type": "object"
},
"Inputs": {
"properties": {
"resources": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/TaskResource"
},
"type": "array"
},
"params": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/ParamSpec"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object"
},
"ManagedFieldsEntry": {
"properties": {
"manager": {
"type": "string"
},
"operation": {
"type": "string"
},
"apiVersion": {
"type": "string"
},
"time": {
"$ref": "#/definitions/Time"
},
"fieldsType": {
"type": "string"
},
"fieldsV1": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/FieldsV1"
}
},
"additionalProperties": false,
"type": "object"
},
"ObjectMeta": {
"properties": {
"name": {
"type": "string"
},
"generateName": {
"type": "string"
},
"namespace": {
"type": "string"
},
"selfLink": {
"type": "string"
},
"uid": {
"type": "string"
},
"resourceVersion": {
"type": "string"
},
"generation": {
"type": "integer"
},
"creationTimestamp": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/Time"
},
"deletionTimestamp": {
"$ref": "#/definitions/Time"
},
"deletionGracePeriodSeconds": {
"type": "integer"
},
"labels": {
"patternProperties": {
".*": {
"type": "string"
}
},
"type": "object"
},
"annotations": {
"patternProperties": {
".*": {
"type": "string"
}
},
"type": "object"
},
"ownerReferences": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/OwnerReference"
},
"type": "array"
},
"finalizers": {
"items": {
"type": "string"
},
"type": "array"
},
"clusterName": {
"type": "string"
},
"managedFields": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/ManagedFieldsEntry"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object"
},
"Outputs": {
"properties": {
"results": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/TestResult"
},
"type": "array"
},
"resources": {
"items": {
"$ref": "#/definitions/TaskResource"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object"
},
"OwnerReference": {
"required": [
"apiVersion",
"kind",
"name",
"uid"
],
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"name": {
"type": "string"
},
"uid": {
"type": "string"
},
"controller": {
"type": "boolean"
},
"blockOwnerDeletion": {
"type": "boolean"
}
},
"additionalProperties": false,
"type": "object"
},
"Param": {
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string"
},
"value": {
"$ref": "#/definitions/ArrayOrString"
}
},
"additionalProperties": false,
"type": "object"
},
"ParamSpec": {
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"default": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/ArrayOrString"
}
},
"additionalProperties": false,
"type": "object"
},
"Pipeline": {
"required": [
"TypeMeta",
"spec"
],
"properties": {
"TypeMeta": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/TypeMeta"
},
"metadata": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/ObjectMeta"
},
"spec": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/PipelineSpec"
},
"status": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/PipelineStatus"
}
},
"additionalProperties": false,
"type": "object"
},
"PipelineDeclaredResource": {
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"optional": {
"type": "boolean"
}
},
"additionalProperties": false,
"type": "object"
},
"PipelineSpec": {
"properties": {
"description": {
"type": "string"
},
"resources": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/PipelineDeclaredResource"
},
"type": "array"
},
"tasks": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/PipelineTask"
},
"type": "array"
},
"params": {
"items": {
"$ref": "#/definitions/ParamSpec"
},
"type": "array"
},
"workspaces": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/WorkspacePipelineDeclaration"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object"
},
"PipelineStatus": {
"properties": {},
"additionalProperties": false,
"type": "object"
},
"PipelineTask": {
"properties": {
"name": {
"type": "string"
},
"taskRef": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/TaskRef"
},
"taskSpec": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/TaskSpec"
},
"conditions": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/PipelineTaskCondition"
},
"type": "array"
},
"retries": {
"type": "integer"
},
"runAfter": {
"items": {
"type": "string"
},
"type": "array"
},
"resources": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/PipelineTaskResources"
},
"params": {
"items": {
"$ref": "#/definitions/Param"
},
"type": "array"
},
"workspaces": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/WorkspacePipelineTaskBinding"
},
"type": "array"
},
"timeout": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/Duration"
}
},
"additionalProperties": false,
"type": "object"
},
"PipelineTaskCondition": {
"required": [
"conditionRef"
],
"properties": {
"conditionRef": {
"type": "string"
},
"params": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/Param"
},
"type": "array"
},
"resources": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/PipelineTaskInputResource"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object"
},
"PipelineTaskInputResource": {
"required": [
"name",
"resource"
],
"properties": {
"name": {
"type": "string"
},
"resource": {
"type": "string"
},
"from": {
"items": {
"type": "string"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object"
},
"PipelineTaskOutputResource": {
"required": [
"name",
"resource"
],
"properties": {
"name": {
"type": "string"
},
"resource": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"PipelineTaskResources": {
"properties": {
"inputs": {
"items": {
"$ref": "#/definitions/PipelineTaskInputResource"
},
"type": "array"
},
"outputs": {
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/PipelineTaskOutputResource"
},
"type": "array"
}
},
"additionalProperties": false,
"type": "object"
},
"ResourceDeclaration": {
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"type": "string"
},
"targetPath": {
"type": "string"
},
"optional": {
"type": "boolean"
}
},
"additionalProperties": false,
"type": "object"
},
"TaskRef": {
"properties": {
"name": {
"type": "string"
},
"kind": {
"type": "string"
},
"apiVersion": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"TaskResource": {
"required": [
"ResourceDeclaration"
],
"properties": {
"ResourceDeclaration": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/ResourceDeclaration"
}
},
"additionalProperties": false,
"type": "object"
},
"TaskSpec": {
"required": [
"TaskSpec"
],
"properties": {
"TaskSpec": {
"$ref": "#/definitions/TaskSpec"
},
"inputs": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/Inputs"
},
"outputs": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$ref": "#/definitions/Outputs"
}
},
"additionalProperties": false,
"type": "object"
},
"TestResult": {
"required": [
"name",
"format",
"path"
],
"properties": {
"name": {
"type": "string"
},
"format": {
"type": "string"
},
"path": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"Time": {
"properties": {},
"additionalProperties": false,
"type": "object"
},
"TypeMeta": {
"properties": {
"kind": {
"type": "string"
},
"apiVersion": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"WorkspacePipelineDeclaration": {
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"WorkspacePipelineTaskBinding": {
"required": [
"name",
"workspace"
],
"properties": {
"name": {
"type": "string"
},
"workspace": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
}
}
}
Process finished with exit code 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment