{ "$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 } } }