Authored schema fields
This field inventory was audited against the 5.0.0-next.5 source and has not been requalified against later prereleases. The generated command reference and the pinned runtime guides take precedence where they differ.
The published next.5 authored schemas describe project and local override documents. They are distinct from legacy configuration fields. See Native configuration import for the admitted import subset and Authored commands for semantic validation.
A valid document shape does not establish runtime admission or provider availability. Defaults here are JSON-schema defaults, not promises of a running service. Requiredness is relative to the containing object or union variant: an optional parent remains optional. Dynamic maps are not a closed list of project-defined names. Definition names are authoring types, not internal transport APIs.
Project document
Pinned machine schema. Each pointer identifies a field declaration in that schema, including definitions and union variants.
| Field / schema pointer | Type or reference | Required here | Default | Meaning / constraints |
|---|---|---|---|---|
configs/properties/configs | { [name]: FileConfig } | No | Not declared | {"additionalProperties":{"$ref":"#/$defs/FileConfig"}} |
environment/properties/environment | EnvironmentSelection | No | {} | |
host/properties/host | HostConfig | No | Not declared | |
host_bindings/properties/host_bindings | { [name]: HostBindingTarget }; {"propertyNames":{"maxLength":63,"minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","type":"string"}} | No | Not declared | {"additionalProperties":{"$ref":"#/$defs/HostBindingTarget"}} |
jobs/properties/jobs | { [name]: Workload & schema-defined } | No | {} | {"additionalProperties":{"allOf":[{"$ref":"#/$defs/Workload"},{"properties":{"restart":{"properties":{"kind":{"enum":["no","on-failure"]}}}}}]}} |
name/properties/name | string | Yes | Not declared | |
networks/properties/networks | { [name]: Network } | No | Not declared | {"additionalProperties":{"$ref":"#/$defs/Network"}} |
open/properties/open | OpenConfig | No | Not declared | |
profiles/properties/profiles | array<string> | No | [] | |
routes/properties/routes | Routes | No | Not declared | |
schema_version/properties/schema_version | integer; {"minimum":1,"maximum":1} | Yes | Not declared | {"minimum":1,"maximum":1} |
secrets/properties/secrets | { [name]: FileSecret } | No | Not declared | {"additionalProperties":{"$ref":"#/$defs/FileSecret"}} |
services/properties/services | { [name]: Workload } | No | {} | {"additionalProperties":{"$ref":"#/$defs/Workload"}} |
source/properties/source | Source | No | {"mode":"host-mounted","root":"."} | |
storage/properties/storage | { [name]: Storage } | No | {} | {"additionalProperties":{"$ref":"#/$defs/Storage"}} |
worktree/properties/worktree | WorktreePolicy | No | {"auto_branch":true,"inherit_local":true} | |
context/$defs/Build/properties/context | string | Yes | Not declared | |
dockerfile/$defs/Build/properties/dockerfile | string | No | "Dockerfile" | |
target/$defs/Build/properties/target | string | No | Not declared | |
exec/$defs/Command/anyOf/0/properties/exec | array<string>; {"minItems":1} | Yes | Not declared | {"minItems":1} |
shell/$defs/Command/anyOf/1/properties/shell | string | Yes | Not declared | |
condition/$defs/Dependency/anyOf/0/properties/condition | ServiceCondition | Yes | Not declared | |
service/$defs/Dependency/anyOf/0/properties/service | string | Yes | Not declared | |
condition/$defs/Dependency/anyOf/1/properties/condition | JobCondition | Yes | Not declared | |
job/$defs/Dependency/anyOf/1/properties/job | string | Yes | Not declared | |
kind/$defs/EndpointReference/oneOf/0/properties/kind | "route" | Yes | Not declared | {"const":"route"} |
name/$defs/EndpointReference/oneOf/0/properties/name | string | Yes | Not declared | |
kind/$defs/EndpointReference/oneOf/1/properties/kind | "service" | Yes | Not declared | {"const":"service"} |
name/$defs/EndpointReference/oneOf/1/properties/name | string | Yes | Not declared | |
port/$defs/EndpointReference/oneOf/1/properties/port | integer; {"minimum":1,"maximum":65535} | Yes | Not declared | {"minimum":1,"maximum":65535} |
protocol/$defs/EndpointReference/oneOf/1/properties/protocol | EndpointProtocol | Yes | Not declared | |
kind/$defs/EndpointReference/oneOf/2/properties/kind | "host_binding" | Yes | Not declared | {"const":"host_binding"} |
name/$defs/EndpointReference/oneOf/2/properties/name | string; {"minLength":1,"maxLength":63,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"} | Yes | Not declared | {"minLength":1,"maxLength":63,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"} |
exec/$defs/Entrypoint/anyOf/0/properties/exec | array<string>; {"prefixItems":[{"minLength":1,"type":"string"}]} | Yes | Not declared | |
shell/$defs/Entrypoint/anyOf/1/properties/shell | string; {"minLength":1} | Yes | Not declared | {"minLength":1} |
default_overlay/$defs/EnvironmentSelection/properties/default_overlay | string; {"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"} | No | Not declared | {"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"} |
literal/$defs/EnvironmentValue/anyOf/0/properties/literal | string | Yes | Not declared | |
default/$defs/EnvironmentValue/anyOf/1/properties/default | string | Yes | Not declared | |
env_ref/$defs/EnvironmentValue/anyOf/2/properties/env_ref | string; {"pattern":"^[A-Z_][A-Z0-9_]*$"} | Yes | Not declared | {"pattern":"^[A-Z_][A-Z0-9_]*$"} |
unset/$defs/EnvironmentValue/anyOf/3/properties/unset | True | Yes | Not declared | |
endpoint/$defs/EnvironmentValue/anyOf/4/properties/endpoint | EndpointReference | Yes | Not declared | |
file/$defs/FileConfig/properties/file | string | Yes | Not declared | |
file/$defs/FileSecret/anyOf/0/properties/file | string | Yes | Not declared | |
env_ref/$defs/FileSecret/anyOf/1/properties/env_ref | string | Yes | Not declared | |
kind/$defs/HostBindingTarget/oneOf/0/properties/kind | "host" | Yes | Not declared | {"const":"host"} |
port/$defs/HostBindingTarget/oneOf/0/properties/port | integer; {"minimum":1,"maximum":65535} | Yes | Not declared | {"minimum":1,"maximum":65535} |
protocol/$defs/HostBindingTarget/oneOf/0/properties/protocol | EndpointProtocol | Yes | Not declared | |
hostname/$defs/HostBindingTarget/oneOf/1/properties/hostname | string; {"minLength":1,"maxLength":253} | Yes | Not declared | {"minLength":1,"maxLength":253} |
kind/$defs/HostBindingTarget/oneOf/1/properties/kind | "external" | Yes | Not declared | {"const":"external"} |
port/$defs/HostBindingTarget/oneOf/1/properties/port | integer; {"minimum":1,"maximum":65535} | Yes | Not declared | {"minimum":1,"maximum":65535} |
protocol/$defs/HostBindingTarget/oneOf/1/properties/protocol | EndpointProtocol | Yes | Not declared | |
down/$defs/HostConfig/properties/down | HostHooks | No | {"after":[],"before":[]} | |
processes/$defs/HostConfig/properties/processes | { [name]: HostProcess } | No | {} | {"additionalProperties":{"$ref":"#/$defs/HostProcess"}} |
up/$defs/HostConfig/properties/up | HostHooks | No | {"after":[],"before":[]} | |
kind/$defs/HostEnvTarget/oneOf/0/properties/kind | "host" | Yes | Not declared | {"const":"host"} |
kind/$defs/HostEnvTarget/oneOf/1/properties/kind | "workload" | Yes | Not declared | {"const":"workload"} |
name/$defs/HostEnvTarget/oneOf/1/properties/name | string | Yes | Not declared | |
command/$defs/HostHook/properties/command | Command | Yes | Not declared | |
cwd/$defs/HostHook/properties/cwd | string | No | "." | |
env_target/$defs/HostHook/properties/env_target | HostEnvTarget | No | {"kind":"host"} | |
environment/$defs/HostHook/properties/environment | { [name]: EnvironmentValue } | No | {} | {"additionalProperties":{"$ref":"#/$defs/EnvironmentValue"}} |
name/$defs/HostHook/properties/name | string | Yes | Not declared | |
after/$defs/HostHooks/properties/after | array<HostHook> | No | [] | |
before/$defs/HostHooks/properties/before | array<HostHook> | No | [] | |
command/$defs/HostProcess/properties/command | Command | Yes | Not declared | |
cwd/$defs/HostProcess/properties/cwd | string | No | "." | |
env_target/$defs/HostProcess/properties/env_target | HostEnvTarget | No | {"kind":"host"} | |
environment/$defs/HostProcess/properties/environment | { [name]: EnvironmentValue } | No | {} | {"additionalProperties":{"$ref":"#/$defs/EnvironmentValue"}} |
exit/$defs/HostProcess/properties/exit | HostExit | No | "stop_on_down" | |
singleton/$defs/HostProcess/properties/singleton | HostSingleton | No | Not declared | |
startup/$defs/HostProcess/properties/startup | HostStartup | No | "up" | |
on_conflict/$defs/HostSingleton/properties/on_conflict | HostConflict | No | "fail" | |
ports/$defs/HostSingleton/properties/ports | array<integer; {"minimum":1,"maximum":65535}>; {"minItems":1,"uniqueItems":true} | Yes | Not declared | {"minItems":1,"uniqueItems":true} |
hostname/$defs/HttpRoute/properties/hostname | string | Yes | Not declared | |
port/$defs/HttpRoute/properties/port | integer; {"minimum":1,"maximum":65535} | Yes | Not declared | {"minimum":1,"maximum":65535} |
protocol/$defs/HttpRoute/properties/protocol | HttpProtocol | No | "http" | |
service/$defs/HttpRoute/properties/service | string | Yes | Not declared | |
access/$defs/Mount/anyOf/0/properties/access | Access | Yes | Not declared | |
source/$defs/Mount/anyOf/0/properties/source | string | Yes | Not declared | |
target/$defs/Mount/anyOf/0/properties/target | string | Yes | Not declared | |
access/$defs/Mount/anyOf/1/properties/access | Access | Yes | Not declared | |
storage/$defs/Mount/anyOf/1/properties/storage | string | Yes | Not declared | |
target/$defs/Mount/anyOf/1/properties/target | string | Yes | Not declared | |
access/$defs/Mount/anyOf/2/properties/access | Access | Yes | Not declared | |
config/$defs/Mount/anyOf/2/properties/config | string | Yes | Not declared | |
gid/$defs/Mount/anyOf/2/properties/gid | integer; {"minimum":0} | No | Not declared | {"minimum":0} |
mode/$defs/Mount/anyOf/2/properties/mode | string; {"pattern":"^0[0-7]{3}$"} | No | "0444" | {"pattern":"^0[0-7]{3}$"} |
target/$defs/Mount/anyOf/2/properties/target | string | Yes | Not declared | |
uid/$defs/Mount/anyOf/2/properties/uid | integer; {"minimum":0} | No | Not declared | {"minimum":0} |
access/$defs/Mount/anyOf/3/properties/access | Access | Yes | Not declared | |
gid/$defs/Mount/anyOf/3/properties/gid | integer; {"minimum":0} | No | Not declared | {"minimum":0} |
mode/$defs/Mount/anyOf/3/properties/mode | string; {"pattern":"^0[0-7]{3}$"} | No | "0444" | {"pattern":"^0[0-7]{3}$"} |
secret/$defs/Mount/anyOf/3/properties/secret | string | Yes | Not declared | |
target/$defs/Mount/anyOf/3/properties/target | string | Yes | Not declared | |
uid/$defs/Mount/anyOf/3/properties/uid | integer; {"minimum":0} | No | Not declared | {"minimum":0} |
internal/$defs/Network/properties/internal | boolean | No | false | |
aliases/$defs/NetworkAttachment/properties/aliases | array<string> | No | Not declared | |
prefer/$defs/OpenConfig/properties/prefer | OpenPreference | No | "auto" | |
command/$defs/Readiness/oneOf/0/properties/command | Command | Yes | Not declared | |
interval/$defs/Readiness/oneOf/0/properties/interval | string | Yes | Not declared | |
kind/$defs/Readiness/oneOf/0/properties/kind | "exec" | Yes | Not declared | {"const":"exec"} |
retries/$defs/Readiness/oneOf/0/properties/retries | integer; {"minimum":1,"maximum":4294967295} | Yes | Not declared | {"minimum":1,"maximum":4294967295} |
timeout/$defs/Readiness/oneOf/0/properties/timeout | string | Yes | Not declared | |
interval/$defs/Readiness/oneOf/1/properties/interval | string | Yes | Not declared | |
kind/$defs/Readiness/oneOf/1/properties/kind | "http" | Yes | Not declared | {"const":"http"} |
path/$defs/Readiness/oneOf/1/properties/path | string | Yes | Not declared | |
port/$defs/Readiness/oneOf/1/properties/port | integer; {"minimum":1,"maximum":65535} | Yes | Not declared | {"minimum":1,"maximum":65535} |
retries/$defs/Readiness/oneOf/1/properties/retries | integer; {"minimum":1,"maximum":4294967295} | Yes | Not declared | {"minimum":1,"maximum":4294967295} |
timeout/$defs/Readiness/oneOf/1/properties/timeout | string | Yes | Not declared | |
interval/$defs/Readiness/oneOf/2/properties/interval | string | Yes | Not declared | |
kind/$defs/Readiness/oneOf/2/properties/kind | "tcp" | Yes | Not declared | {"const":"tcp"} |
port/$defs/Readiness/oneOf/2/properties/port | integer; {"minimum":1,"maximum":65535} | Yes | Not declared | {"minimum":1,"maximum":65535} |
retries/$defs/Readiness/oneOf/2/properties/retries | integer; {"minimum":1,"maximum":4294967295} | Yes | Not declared | {"minimum":1,"maximum":4294967295} |
timeout/$defs/Readiness/oneOf/2/properties/timeout | string | Yes | Not declared | |
kind/$defs/Restart/oneOf/0/properties/kind | "no" | Yes | Not declared | {"const":"no"} |
kind/$defs/Restart/oneOf/1/properties/kind | "always" | Yes | Not declared | {"const":"always"} |
kind/$defs/Restart/oneOf/2/properties/kind | "unless-stopped" | Yes | Not declared | {"const":"unless-stopped"} |
kind/$defs/Restart/oneOf/3/properties/kind | "on-failure" | Yes | Not declared | {"const":"on-failure"} |
max_retries/$defs/Restart/oneOf/3/properties/max_retries | integer; {"minimum":1,"maximum":4294967295} | No | Not declared | {"minimum":1,"maximum":4294967295} |
domain/$defs/RouteAlias/anyOf/0/properties/domain | string | Yes | Not declared | |
origin/$defs/RouteAlias/anyOf/1/properties/origin | string | Yes | Not declared | |
aliases/$defs/Routes/properties/aliases | { [name]: RouteAlias } | No | {} | {"additionalProperties":{"$ref":"#/$defs/RouteAlias"}} |
domain/$defs/Routes/properties/domain | string | No | Not declared | |
http/$defs/Routes/properties/http | { [name]: HttpRoute } | No | {} | {"additionalProperties":{"$ref":"#/$defs/HttpRoute"}} |
oauth_alias/$defs/Routes/properties/oauth_alias | string | No | Not declared | |
origin/$defs/Routes/properties/origin | string | No | Not declared | |
grace/$defs/Shutdown/properties/grace | string; {"pattern":"^[0-9]*[1-9][0-9]*(?:ms|s|m|h)$"} | No | Not declared | {"pattern":"^[0-9][1-9][0-9](?:ms|s|m|h)$"} |
signal/$defs/Shutdown/properties/signal | ShutdownSignal | No | Not declared | |
mode/$defs/Source/properties/mode | SourceMode | No | "host-mounted" | |
root/$defs/Source/properties/root | string | No | "." | |
kind/$defs/Storage/properties/kind | StorageKind | Yes | Not declared | |
scope/$defs/Storage/properties/scope | StorageScope | Yes | Not declared | |
build/$defs/Workload/properties/build | Build | No | Not declared | |
command/$defs/Workload/properties/command | Command | No | Not declared | |
depends_on/$defs/Workload/properties/depends_on | array<Dependency> | No | [] | |
entrypoint/$defs/Workload/properties/entrypoint | Entrypoint | No | Not declared | |
environment/$defs/Workload/properties/environment | { [name]: EnvironmentValue } | No | {} | {"additionalProperties":{"$ref":"#/$defs/EnvironmentValue"}} |
image/$defs/Workload/properties/image | string | No | Not declared | |
init/$defs/Workload/properties/init | boolean | No | Not declared | |
mounts/$defs/Workload/properties/mounts | array<Mount> | No | [] | |
networks/$defs/Workload/properties/networks | { [name]: NetworkAttachment } | No | Not declared | {"additionalProperties":{"$ref":"#/$defs/NetworkAttachment"}} |
profiles/$defs/Workload/properties/profiles | array<string> | No | [] | |
pull_policy/$defs/Workload/properties/pull_policy | PullPolicy | No | Not declared | |
readiness/$defs/Workload/properties/readiness | Readiness | No | Not declared | |
restart/$defs/Workload/properties/restart | Restart | No | Not declared | |
shutdown/$defs/Workload/properties/shutdown | Shutdown | No | Not declared | |
working_directory/$defs/Workload/properties/working_directory | string | No | Not declared | |
pull_policy/$defs/Workload/oneOf/0/properties/pull_policy | "always" | "never" | "missing" | No | Not declared | {"enum":["always","never","missing"]} |
pull_policy/$defs/Workload/oneOf/1/properties/pull_policy | "build" | No | Not declared | {"const":"build"} |
auto_branch/$defs/WorktreePolicy/properties/auto_branch | boolean | No | true | |
inherit_local/$defs/WorktreePolicy/properties/inherit_local | boolean | No | true | |
restart/properties/jobs/additionalProperties/allOf/1/properties/restart | schema-defined | No | Not declared | |
kind/properties/jobs/additionalProperties/allOf/1/properties/restart/properties/kind | "no" | "on-failure" | No | Not declared | {"enum":["no","on-failure"]} |
Type definitions
References in the property table use the following names. A question mark marks an optional property within its object. Array notation includes the element type. Object alternatives remain subject to their required/not constraints.
| Definition | Shape / allowed values |
|---|---|
Access | "read-only" | "read-write" |
Build | { context: string; dockerfile?: string; target?: string } |
Command | { exec: array<string>; {"minItems":1} } | { shell: string } |
Dependency | { condition: ServiceCondition; service: string } | { condition: JobCondition; job: string } |
EndpointProtocol | "http" | "https" | "tcp" |
EndpointReference | { kind: "route"; name: string } | { kind: "service"; name: string; port: integer; {"minimum":1,"maximum":65535}; protocol: EndpointProtocol } | { kind: "host_binding"; name: string; {"minLength":1,"maxLength":63,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"} } |
Entrypoint | { exec: array<string>; {"prefixItems":[{"minLength":1,"type":"string"}]} } | { shell: string; {"minLength":1} } |
EnvironmentSelection | { default_overlay?: string; {"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"} } |
EnvironmentValue | { literal: string } | { default: string } | { env_ref: string; {"pattern":"^[A-Z_][A-Z0-9_]*$"} } | { unset: True } | { endpoint: EndpointReference } |
FileConfig | { file: string } |
FileSecret | { file: string } | { env_ref: string } |
HostBindingTarget | { kind: "host"; port: integer; {"minimum":1,"maximum":65535}; protocol: EndpointProtocol } | { hostname: string; {"minLength":1,"maxLength":253}; kind: "external"; port: integer; {"minimum":1,"maximum":65535}; protocol: EndpointProtocol } |
HostConfig | { down?: HostHooks; processes?: { [name]: HostProcess }; up?: HostHooks } |
HostConflict | "fail" | "adopt" |
HostEnvTarget | { kind: "host" } | { kind: "workload"; name: string } |
HostExit | "stop_on_down" |
HostHook | { command: Command; cwd?: string; env_target?: HostEnvTarget; environment?: { [name]: EnvironmentValue }; name: string } |
HostHooks | { after?: array<HostHook>; before?: array<HostHook> } |
HostProcess | { command: Command; cwd?: string; env_target?: HostEnvTarget; environment?: { [name]: EnvironmentValue }; exit?: HostExit; singleton?: HostSingleton; startup?: HostStartup } |
HostSingleton | { on_conflict?: HostConflict; ports: array<integer; {"minimum":1,"maximum":65535}>; {"minItems":1,"uniqueItems":true} } |
HostStartup | "up" |
HttpProtocol | "http" | "https" |
HttpRoute | { hostname: string; port: integer; {"minimum":1,"maximum":65535}; protocol?: HttpProtocol; service: string } |
JobCondition | "completed" |
Mount | { access: Access; source: string; target: string } | { access: Access; storage: string; target: string } | { access: Access; config: string; gid?: integer; {"minimum":0}; mode?: string; {"pattern":"^0[0-7]{3}$"}; target: string; uid?: integer; {"minimum":0} } | { access: Access; gid?: integer; {"minimum":0}; mode?: string; {"pattern":"^0[0-7]{3}$"}; secret: string; target: string; uid?: integer; {"minimum":0} } |
Network | { internal?: boolean } |
NetworkAttachment | { aliases?: array<string> } |
OpenConfig | { prefer?: OpenPreference } |
OpenPreference | "auto" | "alias" | "dev" |
PullPolicy | "always" | "never" | "missing" | "build" |
Readiness | { command: Command; interval: string; kind: "exec"; retries: integer; {"minimum":1,"maximum":4294967295}; timeout: string } | { interval: string; kind: "http"; path: string; port: integer; {"minimum":1,"maximum":65535}; retries: integer; {"minimum":1,"maximum":4294967295}; timeout: string } | { interval: string; kind: "tcp"; port: integer; {"minimum":1,"maximum":65535}; retries: integer; {"minimum":1,"maximum":4294967295}; timeout: string } |
Restart | { kind: "no" } | { kind: "always" } | { kind: "unless-stopped" } | { kind: "on-failure"; max_retries?: integer; {"minimum":1,"maximum":4294967295} } |
RouteAlias | { domain: string } | { origin: string } |
Routes | { aliases?: { [name]: RouteAlias }; domain?: string; http?: { [name]: HttpRoute }; oauth_alias?: string; origin?: string } |
ServiceCondition | "started" | "ready" |
Shutdown | { grace?: string; {"pattern":"^[0-9]*[1-9][0-9]*(?:ms|s|m|h)$"}; signal?: ShutdownSignal } |
ShutdownSignal | "SIGHUP" | "SIGTERM" | "SIGINT" | "SIGQUIT" | "SIGILL" | "SIGTRAP" | "SIGABRT" | "SIGBUS" | "SIGFPE" | "SIGKILL" | "SIGUSR1" | "SIGSEGV" | "SIGUSR2" | "SIGPIPE" | "SIGALRM" | "SIGSTKFLT" | "SIGCHLD" | "SIGCONT" | "SIGSTOP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGURG" | "SIGXCPU" | "SIGXFSZ" | "SIGVTALRM" | "SIGPROF" | "SIGWINCH" | "SIGIO" | "SIGPWR" | "SIGSYS" |
Source | { mode?: SourceMode; root?: string } |
SourceMode | "host-mounted" |
Storage | { kind: StorageKind; scope: StorageScope } |
StorageKind | "persistent" |
StorageScope | "worktree" |
True | true |
Workload | { build?: Build; command?: Command; depends_on?: array<Dependency>; entrypoint?: Entrypoint; environment?: { [name]: EnvironmentValue }; image?: string; init?: boolean; mounts?: array<Mount>; networks?: { [name]: NetworkAttachment }; profiles?: array<string>; pull_policy?: PullPolicy; readiness?: Readiness; restart?: Restart; shutdown?: Shutdown; working_directory?: string }; {"oneOf":[{"not":{"required":["build"]},"properties":{"pull_policy":{"enum":["always","never","missing"]}},"required":["image"]},{"not":{"required":["image"]},"properties":{"pull_policy":{"const":"build"}},"required":["build"]}]} |
WorktreePolicy | { auto_branch?: boolean; inherit_local?: boolean } |
Workload variants
A workload requires exactly one of image and build. Supplying both or neither is invalid. Other property defaults do not remove this oneOf requirement.
| Variant | Required | Forbidden | pull_policy when supplied |
|---|---|---|---|
| Existing image | image | build | always, never or missing |
| Build context | build | image | build only |
The pull_policy variant restrictions constrain supplied values; they do not make the optional pull_policy property required.
Local override document
Pinned machine schema. Each pointer identifies a field declaration in that schema, including definitions and union variants.
| Field / schema pointer | Type or reference | Required here | Default | Meaning / constraints |
|---|---|---|---|---|
environment/properties/environment | LocalEnvironment | No | {} | |
host_bindings/properties/host_bindings | { [name]: HostBindingTarget | null }; {"propertyNames":{"maxLength":63,"minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","type":"string"}} | No | Not declared | {"additionalProperties":{"anyOf":[{"$ref":"#/$defs/HostBindingTarget"},{"type":"null"}]}} |
open/properties/open | LocalOpen | No | Not declared | |
routes/properties/routes | LocalRoutes | No | Not declared | |
schema_version/properties/schema_version | integer; {"minimum":1,"maximum":1} | Yes | Not declared | {"minimum":1,"maximum":1} |
kind/$defs/HostBindingTarget/oneOf/0/properties/kind | "host" | Yes | Not declared | {"const":"host"} |
port/$defs/HostBindingTarget/oneOf/0/properties/port | integer; {"minimum":1,"maximum":65535} | Yes | Not declared | {"minimum":1,"maximum":65535} |
protocol/$defs/HostBindingTarget/oneOf/0/properties/protocol | EndpointProtocol | Yes | Not declared | |
hostname/$defs/HostBindingTarget/oneOf/1/properties/hostname | string; {"minLength":1,"maxLength":253} | Yes | Not declared | {"minLength":1,"maxLength":253} |
kind/$defs/HostBindingTarget/oneOf/1/properties/kind | "external" | Yes | Not declared | {"const":"external"} |
port/$defs/HostBindingTarget/oneOf/1/properties/port | integer; {"minimum":1,"maximum":65535} | Yes | Not declared | {"minimum":1,"maximum":65535} |
protocol/$defs/HostBindingTarget/oneOf/1/properties/protocol | EndpointProtocol | Yes | Not declared | |
default_overlay/$defs/LocalEnvironment/properties/default_overlay | ['string', 'null']; {"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"} | No | Not declared | {"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"} |
prefer/$defs/LocalOpen/properties/prefer | OpenPreference | No | Not declared | |
domain/$defs/LocalRoutes/properties/domain | string | No | Not declared |
Type definitions
References in the property table use the following names. A question mark marks an optional property within its object. Array notation includes the element type. Object alternatives remain subject to their required/not constraints.
| Definition | Shape / allowed values |
|---|---|
EndpointProtocol | "http" | "https" | "tcp" |
HostBindingTarget | { kind: "host"; port: integer; {"minimum":1,"maximum":65535}; protocol: EndpointProtocol } | { hostname: string; {"minLength":1,"maxLength":253}; kind: "external"; port: integer; {"minimum":1,"maximum":65535}; protocol: EndpointProtocol } |
LocalEnvironment | { default_overlay?: ['string', 'null']; {"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"} } |
LocalOpen | { prefer?: OpenPreference } |
LocalRoutes | { domain?: string } |
OpenPreference | "auto" | "alias" | "dev" |
Array boundaries
Entrypoint.exec accepts an empty array. If it is nonempty, its first string must have at least one character; the prefixItems rule does not require a first element to exist. HostSingleton.ports is a nonempty unique array of integers from 1 through 65535, inclusive. The element and prefix constraints appear in the type declarations above.