particle-os-cli/test-files/schema/stage-v1.json
2025-01-31 22:29:31 -05:00

57 lines
No EOL
1.6 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "stage-v1.json",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the stage. This is used when referencing\nthe stage when using the from: property in the [`copy` module](https://blue-build.org/reference/modules/copy/)."
},
"from": {
"type": "string",
"description": "The full image ref (image name + tag). This will be set in the FROM statement of the stage."
},
"shell": {
"type": "string",
"description": "Allows a user to pass in an array of strings that are passed directly into the [`SHELL` instruction](https://docs.docker.com/reference/dockerfile/#shell)."
},
"modules": {
"type": "array",
"items": {
"$ref": "#/$defs/ModuleEntry"
},
"description": "The list of modules to execute. The exact same syntax used by the main recipe `modules:` property."
}
},
"required": [
"name",
"from",
"modules"
],
"additionalProperties": false,
"$defs": {
"ModuleEntry": {
"anyOf": [
{
"$ref": "module-v1.json"
},
{
"$ref": "#/$defs/ImportedModule"
}
]
},
"ImportedModule": {
"type": "object",
"properties": {
"from-file": {
"type": "string",
"description": "The path to another file containing module configuration to import here.\nhttps://blue-build.org/how-to/multiple-files/"
}
},
"required": [
"from-file"
],
"additionalProperties": false
}
}
}