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.