# Pipeline settings: shared configuration (DLQ, metadata store, lineage)
#
# When using Pipeline.from_config_dir("data/etl_examples"), this file is loaded
# automatically. It configures optional features like OpenLineage emission.
#
# Usage:
#   Pipeline.from_config_dir("data/etl_examples")  # loads settings.yaml automatically
#   Pipeline.from_config_files(..., settings="data/etl_examples/settings.yaml")

name: etl_examples_settings
description: Settings for ETL examples pipeline
version: "1.0.0"

# =============================================================================
# OpenLineage emission
# =============================================================================
# When enabled, the pipeline emits run/dataset events to an OpenLineage backend
# (e.g. Marquez). Requires: pip install pycharter[lineage]
#
# Events include: RUN_START, RUN_COMPLETE (or RUN_FAILED), input/output dataset
# facets derived from extract and load configs.
lineage:
  enabled: true
  namespace: pycharter-etl-examples   # Logical namespace for this pipeline's runs
  # Optional: URL of the OpenLineage backend (if not set, uses default transport)
  # backend_url: http://localhost:5000

# =============================================================================
# Other settings (optional)
# =============================================================================
# Dead Letter Queue: quarantine records that fail validation
# dlq:
#   enabled: true
#   backend: file
#   path: ./dlq

# Default contract for load validation (when using metadata store)
# contract: orders_v2
