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