| { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "$id": "https://airflow.apache.org/schemas/sdk-executable/airflow-metadata-1.0.schema.json", |
| "title": "Airflow Executable SDK Bundle Metadata", |
| "description": "Build-time manifest declaring DAG and task identifiers exposed by an Airflow native-executable SDK bundle. See the Executable Bundle Spec documentation in the Airflow Task SDK.", |
| "type": "object", |
| "required": ["airflow_bundle_metadata_version", "sdk", "source", "dags"], |
| "additionalProperties": true, |
| "properties": { |
| "airflow_bundle_metadata_version": { |
| "type": "string", |
| "description": "Bundle-spec version this manifest conforms to (currently '1.0').", |
| "pattern": "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$" |
| }, |
| "sdk": { |
| "type": "object", |
| "description": "Identifies the SDK that produced the bundle.", |
| "required": ["language", "version", "supervisor_schema_version"], |
| "additionalProperties": true, |
| "properties": { |
| "language": { |
| "type": "string", |
| "description": "Lower-case source-language identifier (e.g. 'go', 'rust', 'cpp', 'zig').", |
| "pattern": "^[a-z][a-z0-9_+.\\-]*$" |
| }, |
| "version": { |
| "type": "string", |
| "description": "SDK version used at build time.", |
| "minLength": 1 |
| }, |
| "supervisor_schema_version": { |
| "type": "string", |
| "description": "Dated supervisor wire-schema version the bundle was compiled against (e.g. '2026-06-16'). The coordinator passes this value to the supervisor so it can downgrade outbound messages / upgrade inbound messages to a shape the bundle understands.", |
| "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$" |
| } |
| } |
| }, |
| "source": { |
| "type": "string", |
| "description": "Original filename of the primary DAG source file (e.g. 'example.go'). The file's bytes are embedded in the bundle's source region; this field is a display name used by the Airflow UI.", |
| "minLength": 1 |
| }, |
| "dags": { |
| "type": "object", |
| "description": "Mapping of dag_id to DAG entry. Every dag_id the bundle exposes must appear here.", |
| "minProperties": 1, |
| "additionalProperties": { |
| "$ref": "#/$defs/dagEntry" |
| } |
| } |
| }, |
| "$defs": { |
| "dagEntry": { |
| "type": "object", |
| "description": "Static description of a single DAG declared in the bundle.", |
| "required": ["tasks"], |
| "additionalProperties": true, |
| "properties": { |
| "tasks": { |
| "type": "array", |
| "description": "Static list of task_ids declared in the DAG.", |
| "items": { |
| "type": "string", |
| "minLength": 1 |
| } |
| } |
| } |
| } |
| } |
| } |