57 lines
No EOL
1.6 KiB
JSON
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
|
|
}
|
|
}
|
|
} |