Added json schemas
This commit is contained in:
parent
2781990ff5
commit
dc08039305
84
schemas/osdk.manifest.component.v1.json
Normal file
84
schemas/osdk.manifest.component.v1.json
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
{
|
||||||
|
"$id": "https://schema.cute.engineering/osdk.manifest.component.v1.json",
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "A representation of a component manifest for OSDK",
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"id",
|
||||||
|
"type"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"description": "The unique identifier for this manifest",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"description": "The type of this manifest",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"description": "A description of this manifest",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"props": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A list of properties that this component provides",
|
||||||
|
"patternProperties": {
|
||||||
|
".*": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tools": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A list of tools that this component provides",
|
||||||
|
"patternProperties": {
|
||||||
|
".*": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"cmd": {
|
||||||
|
"description": "Command to run the tool",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"args": {
|
||||||
|
"description": "Arguments to pass to the tool",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"files": {
|
||||||
|
"description": "Files used by the tool",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enableIf": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A list of conditions that must be met for this component to be enabled",
|
||||||
|
"patternProperties": {
|
||||||
|
".*": {
|
||||||
|
"type": "list",
|
||||||
|
"items": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requires": {
|
||||||
|
"type": "array",
|
||||||
|
"description": "A list of features that this component requires",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"provides": {
|
||||||
|
"type": "array",
|
||||||
|
"description": "A list of features that this component provides (note: by default all components provides they own id as a feature)",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
39
schemas/osdk.manifest.project.v1.json
Normal file
39
schemas/osdk.manifest.project.v1.json
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
"$id": "https://schema.cute.engineering/osdk.manifest.project.v1.json",
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "A representation of a component project for OSDK",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"description": "The unique identifier for this manifest",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"description": "The type of this manifest",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"description": "A description of this manifest",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"extern": {
|
||||||
|
"description": "A list of external dependencies",
|
||||||
|
"type": "object",
|
||||||
|
"patternProperties": {
|
||||||
|
".*": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"git": {
|
||||||
|
"description": "The git repository to clone",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"tag": {
|
||||||
|
"description": "The tag to checkout",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
65
schemas/osdk.manifest.target.v1.json
Normal file
65
schemas/osdk.manifest.target.v1.json
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
{
|
||||||
|
"$id": "https://schema.cute.engineering/osdk.manifest.target.json",
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"description": "A representation of a target manifest for OSDK",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"description": "The unique identifier for this manifest",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"description": "The type of this manifest",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"description": "A description of this manifest",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"props": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A list of properties that this target provides",
|
||||||
|
"patternProperties": {
|
||||||
|
".*": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tools": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A list of tools that this target provides",
|
||||||
|
"patternProperties": {
|
||||||
|
".*": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"cmd": {
|
||||||
|
"description": "Command to run the tool",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"args": {
|
||||||
|
"description": "Arguments to pass to the tool",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"files": {
|
||||||
|
"description": "Files used by the tool",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"routing": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A list of feature to component mappings",
|
||||||
|
"patternProperties": {
|
||||||
|
".*": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue