Application schema

Prev Next

Reference for application.yaml / deploy manifest for external integrations and builder applications.

Source of truth

  • Schema file: application-schema.json (shipped with the Builder CLI schema bundle)
  • Schema key: application-schema
  • Version: 1.10.0 (verify in schema metadata.version)

Validate:

aifabrix validate <systemKey>

Top-level fields (summary)

Field Purpose
key Application identifier in the deployment schema; Builder configuration may use its application YAML form
type Application type (external for integrations)
externalIntegration Systems list, datasource list, schema paths, autopublish flags
build Local build settings, including Dockerfile target
configuration Named configuration entries; portalInput.visible controls portal form visibility
platforms / environments Resource-group matching and per-environment configuration overlays
additionalPorts Up to five additional local container port mappings
runAsRoot Use the image user instead of the invoking host user; defaults to false
webSocketsEnabled Optional hosting request, default false; deployment support must be verified

Platform and environment resolution

platforms and environments are optional and independent. A platform entry
matches the resource group and supplies configuration values; the selected
environment overrides matching names. No matching platform or an ambiguous
match stops resolution. Built-in values include PLATFORM, PLATFORM_NAME,
RESOURCE_GROUP and ENVIRONMENT. {NAME} substitutions are distinct from
shell-style ${VAR} references.

aifabrix json <appKey> --resource-group <resourceGroup> --env dev
aifabrix build <appKey> --env dev

Explicit --env on build prevents a previously selected CLI environment from
choosing the wrong configuration. Without a concrete generation target, Builder
can preserve platform/environment declarations for resolution at deployment.
portalInput.visible: false hides a configuration input; it is not a secret
storage or access-control setting.

build.target selects a Dockerfile stage; omitting it builds the final stage.
For local additional ports, the published port is the base hostPort plus
developerId * 100. These local mappings do not establish Azure routing support.
Use runAsRoot only for applications that need the image user and account for
ownership of files written to mounted storage.

webSocketsEnabled is declared by schema 1.10.0. Schema acceptance alone does
not prove that the installed deployment path enables WebSockets; confirm that
consumer before depending on it.

Business definitions remain governed content;
this reference describes configuration, not a replacement for that model.

External integration block

For external systems, externalIntegration tracks:

  • registered systems and dataSources file paths
  • schema base path for validation
  • version and autopublish behavior

Use aifabrix repair <systemKey> when application.yaml drifts from on-disk JSON files.

This page summarizes fields — it is not a second schema. When prose and JSON Schema conflict, the schema file wins.

Related

Limits

This reference describes schema 1.10.0 and the reviewed Builder configuration
behavior. Azure hosting support and installed product versions must be checked
separately; accepting a field does not prove deployment support. Follow the
application's configuration format when authoring application.yaml, then
validate its generated deployment manifest against the schema.