{ "$defs": { "Cache": { "additionalProperties": false, "properties": { "strategy": { "$ref": "#/$defs/CacheStrategy" }, "life_span": { "anyOf": [ { "pattern": "^(\\d+d)?(\\d+h)?(\\d+m)?(\\d+s)?$", "type": "string" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Life Span" } }, "required": [ "strategy" ], "title": "Cache", "type": "object" }, "CacheStrategy": { "enum": [ "none", "default", "inherit" ], "title": "CacheStrategy", "type": "string" }, "ExecUnitMixin": { "additionalProperties": false, "properties": { "title": { "title": "Title", "type": "string" }, "name": { "title": "Name", "type": "string" }, "image": { "title": "Image", "type": "string" }, "preset": { "title": "Preset", "type": "string" }, "schedule_timeout": { "anyOf": [ { "pattern": "^(\\d+d)?(\\d+h)?(\\d+m)?(\\d+s)?$", "type": "string" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Schedule Timeout" }, "entrypoint": { "title": "Entrypoint", "type": "string" }, "cmd": { "title": "Cmd", "type": "string" }, "bash": { "title": "Bash", "type": "string" }, "python": { "title": "Python", "type": "string" }, "action": { "title": "Action", "type": "string" }, "module": { "title": "Module", "type": "string" }, "args": { "additionalProperties": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "string" }, { "type": "boolean" }, { "type": "null" } ] }, "title": "Args", "type": "object" }, "workdir": { "title": "Workdir", "type": "string" }, "env": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Env" }, "volumes": { "anyOf": [ { "items": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": "array" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Volumes" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Tags" }, "life_span": { "anyOf": [ { "pattern": "^(\\d+d)?(\\d+h)?(\\d+m)?(\\d+s)?$", "type": "string" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Life Span" }, "http_port": { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "title": "Http Port" }, "http_auth": { "title": "Http Auth", "type": "boolean" }, "pass_config": { "title": "Pass Config", "type": "boolean" }, "restart": { "anyOf": [ { "$ref": "#/$defs/JobRestartPolicy" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Restart" }, "mixins": { "items": { "type": "string" }, "title": "Mixins", "type": "array" } }, "title": "ExecUnitMixin", "type": "object" }, "Image": { "additionalProperties": false, "properties": { "ref": { "title": "Ref", "type": "string" }, "context": { "title": "Context", "type": "string" }, "dockerfile": { "title": "Dockerfile", "type": "string" }, "build_args": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Build Args" }, "env": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Env" }, "volumes": { "anyOf": [ { "items": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": "array" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Volumes" }, "build_preset": { "title": "Build Preset", "type": "string" }, "force_rebuild": { "title": "Force Rebuild", "type": "boolean" }, "extra_kaniko_args": { "title": "Extra Kaniko Args", "type": "string" } }, "required": [ "ref" ], "title": "Image", "type": "object" }, "JobRestartPolicy": { "enum": [ "never", "on-failure", "always" ], "title": "JobRestartPolicy", "type": "string" }, "ProjectDefaults": { "additionalProperties": false, "properties": { "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Tags" }, "env": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Env" }, "volumes": { "anyOf": [ { "items": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": "array" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Volumes" }, "workdir": { "title": "Workdir", "type": "string" }, "life_span": { "anyOf": [ { "pattern": "^(\\d+d)?(\\d+h)?(\\d+m)?(\\d+s)?$", "type": "string" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Life Span" }, "preset": { "title": "Preset", "type": "string" }, "schedule_timeout": { "anyOf": [ { "pattern": "^(\\d+d)?(\\d+h)?(\\d+m)?(\\d+s)?$", "type": "string" }, { "pattern": "^\\$\\{\\{.+\\}\\}$", "type": "string" } ], "title": "Schedule Timeout" }, "fail_fast": { "title": "Fail Fast", "type": "boolean" }, "max_parallel": { "title": "Max Parallel", "type": "integer" }, "cache": { "$ref": "#/$defs/Cache" } }, "title": "ProjectDefaults", "type": "object" }, "Volume": { "additionalProperties": false, "properties": { "remote": { "title": "Remote", "type": "string" }, "mount": { "title": "Mount", "type": "string" }, "read_only": { "title": "Read Only", "type": "boolean" }, "local": { "title": "Local", "type": "string" } }, "required": [ "remote", "mount" ], "title": "Volume", "type": "object" } }, "additionalProperties": false, "properties": { "id": { "title": "Id", "type": "string" }, "project_name": { "title": "Project Name", "type": "string" }, "owner": { "title": "Owner", "type": "string" }, "role": { "title": "Role", "type": "string" }, "images": { "additionalProperties": { "$ref": "#/$defs/Image" }, "title": "Images", "type": "object" }, "volumes": { "additionalProperties": { "$ref": "#/$defs/Volume" }, "title": "Volumes", "type": "object" }, "defaults": { "$ref": "#/$defs/ProjectDefaults", "title": "Defaults" }, "mixins": { "additionalProperties": { "$ref": "#/$defs/ExecUnitMixin" }, "title": "Mixins", "type": "object" } }, "required": [ "id" ], "title": "Project", "type": "object" }