Created
September 27, 2025 10:46
-
-
Save iloveitaly/e05f391559a3e4f7f2b367a34dbc0449 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "https://json-schema.org/draft/2020-12/schema", | |
"properties": { | |
"provider": { | |
"type": "string", | |
"description": "The provider to use" | |
}, | |
"buildAptPackages": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "List of apt packages to install during the build step" | |
}, | |
"steps": { | |
"additionalProperties": { | |
"properties": { | |
"inputs": { | |
"items": { | |
"oneOf": [ | |
{ | |
"properties": { | |
"step": { | |
"type": "string", | |
"description": "The step to use as input" | |
}, | |
"include": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to include" | |
}, | |
"exclude": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to exclude" | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"step" | |
] | |
}, | |
{ | |
"properties": { | |
"image": { | |
"type": "string", | |
"description": "The image to use as input" | |
}, | |
"include": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to include" | |
}, | |
"exclude": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to exclude" | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"image" | |
] | |
}, | |
{ | |
"properties": { | |
"local": { | |
"type": "boolean", | |
"description": "Whether to use local files as input" | |
}, | |
"include": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to include" | |
}, | |
"exclude": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to exclude" | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"local" | |
] | |
}, | |
{ | |
"type": "string", | |
"enum": [ | |
".", | |
"..." | |
], | |
"description": "Strings will be parsed and interpreted as an input. Valid formats are: '.', '...', or '$step'" | |
} | |
] | |
}, | |
"type": "array", | |
"description": "The inputs for this step" | |
}, | |
"commands": { | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string", | |
"description": "Strings will be parsed and interpreted as a command to run" | |
}, | |
{ | |
"$schema": "https://json-schema.org/draft/2020-12/schema", | |
"properties": { | |
"cmd": { | |
"type": "string", | |
"description": "The shell command to execute (e.g. 'go build' or 'npm install')" | |
}, | |
"customName": { | |
"type": "string", | |
"description": "Optional custom name to display for this command in build output" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"cmd" | |
] | |
}, | |
{ | |
"$schema": "https://json-schema.org/draft/2020-12/schema", | |
"properties": { | |
"path": { | |
"type": "string", | |
"description": "Directory path to add to the global PATH environment variable. This path will be available to all subsequent commands in the build" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"path" | |
] | |
}, | |
{ | |
"$schema": "https://json-schema.org/draft/2020-12/schema", | |
"properties": { | |
"image": { | |
"type": "string", | |
"description": "Optional source image to copy from. This can be any public image URL" | |
}, | |
"src": { | |
"type": "string", | |
"description": "Source path to copy from. Can be a file or directory" | |
}, | |
"dest": { | |
"type": "string", | |
"description": "Destination path to copy to. Will be created if it doesn't exist" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"src", | |
"dest" | |
] | |
}, | |
{ | |
"$schema": "https://json-schema.org/draft/2020-12/schema", | |
"properties": { | |
"path": { | |
"type": "string", | |
"description": "Directory path where the file should be created" | |
}, | |
"name": { | |
"type": "string", | |
"description": "Name of the file to create" | |
}, | |
"mode": { | |
"type": "integer", | |
"description": "Optional Unix file permissions mode (e.g. 0644 for regular file)" | |
}, | |
"customName": { | |
"type": "string", | |
"description": "Optional custom name to display for this file operation" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"path", | |
"name" | |
] | |
} | |
] | |
}, | |
"type": "array", | |
"description": "The commands to run in this step" | |
}, | |
"secrets": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "The secrets that this step uses" | |
}, | |
"assets": { | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"type": "object", | |
"description": "The assets available to this step. The key is the name of the asset that is referenced in a file command" | |
}, | |
"variables": { | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"type": "object", | |
"description": "The variables available to this step. The key is the name of the variable that is referenced in a variable command" | |
}, | |
"caches": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "The caches available to all commands in this step. Each cache must refer to a cache at the top level of the plan" | |
}, | |
"deployOutputs": { | |
"items": { | |
"properties": { | |
"include": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to include" | |
}, | |
"exclude": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to exclude" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"type": "array", | |
"description": "Parts of this step that should be included in the final image. If empty" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"type": "object", | |
"description": "Map of step names to step definitions" | |
}, | |
"deploy": { | |
"properties": { | |
"aptPackages": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "List of apt packages to include at runtime" | |
}, | |
"base": { | |
"oneOf": [ | |
{ | |
"properties": { | |
"step": { | |
"type": "string", | |
"description": "The step to use as input" | |
}, | |
"include": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to include" | |
}, | |
"exclude": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to exclude" | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"step" | |
] | |
}, | |
{ | |
"properties": { | |
"image": { | |
"type": "string", | |
"description": "The image to use as input" | |
}, | |
"include": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to include" | |
}, | |
"exclude": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to exclude" | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"image" | |
] | |
}, | |
{ | |
"properties": { | |
"local": { | |
"type": "boolean", | |
"description": "Whether to use local files as input" | |
}, | |
"include": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to include" | |
}, | |
"exclude": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to exclude" | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"local" | |
] | |
}, | |
{ | |
"type": "string", | |
"enum": [ | |
".", | |
"..." | |
], | |
"description": "Strings will be parsed and interpreted as an input. Valid formats are: '.', '...', or '$step'" | |
} | |
], | |
"description": "The base image to use for the deploy step" | |
}, | |
"inputs": { | |
"items": { | |
"oneOf": [ | |
{ | |
"properties": { | |
"step": { | |
"type": "string", | |
"description": "The step to use as input" | |
}, | |
"include": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to include" | |
}, | |
"exclude": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to exclude" | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"step" | |
] | |
}, | |
{ | |
"properties": { | |
"image": { | |
"type": "string", | |
"description": "The image to use as input" | |
}, | |
"include": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to include" | |
}, | |
"exclude": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to exclude" | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"image" | |
] | |
}, | |
{ | |
"properties": { | |
"local": { | |
"type": "boolean", | |
"description": "Whether to use local files as input" | |
}, | |
"include": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to include" | |
}, | |
"exclude": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Files or directories to exclude" | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"local" | |
] | |
}, | |
{ | |
"type": "string", | |
"enum": [ | |
".", | |
"..." | |
], | |
"description": "Strings will be parsed and interpreted as an input. Valid formats are: '.', '...', or '$step'" | |
} | |
] | |
}, | |
"type": "array", | |
"description": "The inputs for the deploy step" | |
}, | |
"startCommand": { | |
"type": "string", | |
"description": "The command to run in the container" | |
}, | |
"variables": { | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"type": "object", | |
"description": "The variables available to this step. The key is the name of the variable that is referenced in a variable command" | |
}, | |
"paths": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "The paths to prepend to the $PATH environment variable" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"description": "Deploy configuration" | |
}, | |
"packages": { | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"type": "object", | |
"description": "Map of package name to package version" | |
}, | |
"caches": { | |
"additionalProperties": { | |
"properties": { | |
"directory": { | |
"type": "string", | |
"description": "The directory to cache" | |
}, | |
"type": { | |
"type": "string", | |
"enum": [ | |
"shared", | |
"locked" | |
], | |
"description": "The type of cache (either 'shared' or 'locked')", | |
"default": "shared" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"type": "object", | |
"description": "Map of cache name to cache definitions. The cache key can be referenced in an exec command" | |
}, | |
"secrets": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array", | |
"description": "Secrets that should be made available to commands that have useSecrets set to true" | |
}, | |
"$schema": { | |
"type": "string", | |
"description": "The schema for this config" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"provider" | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment