mirror of
https://github.com/foomo/squadron.git
synced 2025-10-16 12:35:42 +00:00
263 lines
7.4 KiB
JSON
263 lines
7.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://github.com/foomo/squadron/internal/config/config",
|
|
"$ref": "#/$defs/Config",
|
|
"$defs": {
|
|
"Build": {
|
|
"properties": {
|
|
"context": {
|
|
"type": "string",
|
|
"description": "Build context"
|
|
},
|
|
"add_host": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"description": "AddHost add a custom host-to-IP mapping (format: \"host:ip\")"
|
|
},
|
|
"allow": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"description": "Allow extra privileged entitlement (e.g., \"network.host\", \"security.insecure\")"
|
|
},
|
|
"attest": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"description": "Attest parameters (format: \"type=sbom,generator=image\")"
|
|
},
|
|
"build_arg": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"description": "BuildArg set build-time variables"
|
|
},
|
|
"build_context": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"description": "BuildContext additional build contexts (e.g., name=path)"
|
|
},
|
|
"builder": {
|
|
"type": "string",
|
|
"description": "Builder override the configured builder instance"
|
|
},
|
|
"cache_from": {
|
|
"type": "string",
|
|
"description": "CacheFrom external cache sources (e.g., \"user/app:cache\", \"type=local,src=path/to/dir\")"
|
|
},
|
|
"cache_to": {
|
|
"type": "string",
|
|
"description": "CacheTo cache export destinations (e.g., \"user/app:cache\", \"type=local,dest=path/to/dir\")"
|
|
},
|
|
"cgroup_parent": {
|
|
"type": "string",
|
|
"description": "CGroupParent optional parent cgroup for the container"
|
|
},
|
|
"file": {
|
|
"type": "string",
|
|
"description": "File name of the Dockerfile (default: \"PATH/Dockerfile\")"
|
|
},
|
|
"iidfile": {
|
|
"type": "string",
|
|
"description": "IIDFile write the image ID to the file"
|
|
},
|
|
"label": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"description": "Label wet metadata for an image"
|
|
},
|
|
"load": {
|
|
"type": "boolean",
|
|
"description": "Load shorthand for \"--output=type=docker\""
|
|
},
|
|
"metadata_file": {
|
|
"type": "string",
|
|
"description": "MetadataFile write build result metadata to the file"
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "Network set the networking mode for the \"RUN\" instructions during build (default \"default\")"
|
|
},
|
|
"no_cache": {
|
|
"type": "boolean",
|
|
"description": "NoCache do not use cache when building the image"
|
|
},
|
|
"no_cache_filter": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"description": "NoCacheFilter do not cache specified stages"
|
|
},
|
|
"output": {
|
|
"type": "string",
|
|
"description": "Output destination (format: \"type=local,dest=path\")"
|
|
},
|
|
"platform": {
|
|
"type": "string",
|
|
"description": "Platform set target platform for build"
|
|
},
|
|
"secret": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"description": "Secret to expose to the build (format: \"id=mysecret[,src=/local/secret]\")"
|
|
},
|
|
"shm_size": {
|
|
"type": "string",
|
|
"description": "ShmSize size of \"/dev/shm\""
|
|
},
|
|
"ssh": {
|
|
"type": "string",
|
|
"description": "SSH agent socket or keys to expose to the build (format: \"default|\u003cid\u003e[=\u003csocket\u003e|\u003ckey\u003e[,\u003ckey\u003e]]\")"
|
|
},
|
|
"tag": {
|
|
"type": "string",
|
|
"description": "Tag name and optionally a tag (format: \"name:tag\")"
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"description": "Image name"
|
|
},
|
|
"target": {
|
|
"type": "string",
|
|
"description": "Target set the target build stage to build"
|
|
},
|
|
"ulimit": {
|
|
"type": "string",
|
|
"description": "ULimit ulimit options (default []"
|
|
},
|
|
"dependencies": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"description": "Dependencies list of build names defined in the squadron configuration"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"Chart": {
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Chart name"
|
|
},
|
|
"repository": {
|
|
"type": "string",
|
|
"description": "Chart repository"
|
|
},
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "Values schema json"
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"description": "Chart version"
|
|
},
|
|
"alias": {
|
|
"type": "string",
|
|
"description": "Chart alias"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"Config": {
|
|
"properties": {
|
|
"version": {
|
|
"type": "string",
|
|
"pattern": "^[0-9]\\.[0-9]$",
|
|
"description": "Version of the schema"
|
|
},
|
|
"vars": {
|
|
"type": "object",
|
|
"description": "Global values to be injected into all squadron values"
|
|
},
|
|
"global": {
|
|
"type": "object",
|
|
"description": "Global values to be injected into all squadron values"
|
|
},
|
|
"builds": {
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/Build"
|
|
},
|
|
"type": "object",
|
|
"description": "Global builds that can be referenced as dependencies"
|
|
},
|
|
"squadron": {
|
|
"additionalProperties": {
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/Unit"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "object",
|
|
"description": "Squadron definitions"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object",
|
|
"required": [
|
|
"version"
|
|
]
|
|
},
|
|
"Tags": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"Unit": {
|
|
"properties": {
|
|
"chart": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "#/$defs/Chart"
|
|
}
|
|
],
|
|
"description": "Chart settings"
|
|
},
|
|
"kustomize": {
|
|
"type": "string",
|
|
"description": "Kustomize files path"
|
|
},
|
|
"tags": {
|
|
"$ref": "#/$defs/Tags",
|
|
"description": "List of tags"
|
|
},
|
|
"builds": {
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/Build"
|
|
},
|
|
"type": "object",
|
|
"description": "Map of containers to build"
|
|
},
|
|
"values": {
|
|
"type": "object",
|
|
"description": "Chart values"
|
|
},
|
|
"extends": {
|
|
"type": "string",
|
|
"description": "Extend chart values"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
}
|
|
}
|
|
} |