|
| 1 | +Framework configuration |
| 2 | +======================= |
| 3 | + |
| 4 | +.. list-table:: |
| 5 | + :header-rows: 0 |
| 6 | + |
| 7 | + * - **Applies To:** |
| 8 | + - :bdg-info:`Framework Bundle` |
| 9 | + * - **Configuration Scope:** |
| 10 | + - :bdg-info:`Global` |
| 11 | + * - **Databricks Docs:** |
| 12 | + - NA |
| 13 | + |
| 14 | +Framework-level settings (global JSON/YAML, substitutions, secrets, spec mappings, operational metadata) live under **one** active directory. The framework chooses between a **default** tree and an optional **override** tree; everything else reads paths relative to that choice. |
| 15 | + |
| 16 | +Configuration |
| 17 | +------------- |
| 18 | + |
| 19 | +| **Scope: Global (framework bundle)** |
| 20 | +| **Default:** ``./config/default/`` (for example ``src/config/default/`` when the framework root is ``src``). |
| 21 | +| **Override:** ``./config/override/`` (for example ``src/config/override/``). Optional; see **Override** below. |
| 22 | +
|
| 23 | +Under the active directory you normally have: |
| 24 | + |
| 25 | +* exactly one global file: ``global.json``, ``global.yaml``, or ``global.yml`` |
| 26 | +* a ``dataflow_spec_mapping/`` directory (see :doc:`feature_versioning_dataflow_spec`) |
| 27 | +* optional per-target substitution and secrets files (see :doc:`feature_substitutions`, :doc:`feature_secrets`) |
| 28 | +* optional ``operational_metadata_<layer>.json`` (see :doc:`feature_operational_metadata`) |
| 29 | + |
| 30 | +Mandatory |
| 31 | +--------- |
| 32 | + |
| 33 | +* **Global file:** exactly one of ``global.json``, ``global.yaml``, ``global.yml``. More than one is an error. |
| 34 | +* **Mappings:** the ``dataflow_spec_mapping/`` directory must exist. |
| 35 | + |
| 36 | +Optional |
| 37 | +-------- |
| 38 | + |
| 39 | +Inside the global file, all top-level keys are optional. Common ones: |
| 40 | + |
| 41 | +.. list-table:: |
| 42 | + :header-rows: 1 |
| 43 | + :widths: 30 70 |
| 44 | + |
| 45 | + * - Key |
| 46 | + - See |
| 47 | + * - ``pipeline_bundle_spec_format`` |
| 48 | + - :doc:`feature_spec_format` |
| 49 | + * - ``mandatory_table_properties`` |
| 50 | + - :doc:`feature_mandatory_table_properties` |
| 51 | + * - ``spark_config`` |
| 52 | + - :doc:`feature_spark_configuration` |
| 53 | + * - ``table_migration_state_volume_path`` |
| 54 | + - :doc:`feature_table_migration` |
| 55 | + * - ``dataflow_spec_version`` |
| 56 | + - :doc:`feature_versioning_dataflow_spec` |
| 57 | + * - ``override_max_workers`` / ``pipeline_builder_disable_threading`` |
| 58 | + - :doc:`feature_builder_parallelization` |
| 59 | + |
| 60 | +Override |
| 61 | +-------- |
| 62 | + |
| 63 | +* If ``./config/override/`` has **no** non-hidden files (only names starting with ``.``, such as ``.gitkeep``), the framework uses ``./config/default/``. |
| 64 | +* If it has **any** non-hidden file or folder, the framework uses ``./config/override/`` instead—but then that directory must already contain **both** a valid global file and a ``dataflow_spec_mapping/`` directory. Otherwise startup fails with a message to copy the full layout from ``./config/default/``. |
| 65 | +* If **neither** directory has non-hidden content, startup fails: add configuration under ``./config/default/``. |
| 66 | + |
| 67 | +.. tip:: |
| 68 | + |
| 69 | + Leave ``config/override`` empty until you can mirror the whole ``config/default`` tree. |
0 commit comments