# Baselinr Configuration Example for Amazon Redshift
# This is a sample configuration for profiling Redshift tables

environment: development

# Source database connection (Redshift)
source:
  type: redshift
  host: my-cluster.xxxxx.us-east-1.redshift.amazonaws.com
  port: 5439  # Default Redshift port
  database: mydatabase
  username: myuser
  password: mypassword
  schema: public  # Redshift schema name

# Storage configuration (where to save profiling results)
storage:
  connection:
    type: redshift  # Can use same Redshift cluster or different database
    host: my-cluster.xxxxx.us-east-1.redshift.amazonaws.com
    port: 5439
    database: baselinr_storage
    username: myuser
    password: mypassword
  results_table: baselinr_results
  runs_table: baselinr_runs
  create_tables: true

# Profiling configuration
profiling:
  tables:
    - table: customers
      schema: public
    
    - table: orders
      schema: public
      # Redshift supports date-based partitioning
      partition:
        key: order_date
        strategy: latest
        metadata_fallback: true

  max_distinct_values: 1000
  compute_histograms: true
  histogram_bins: 10
  metrics:
    - count
    - null_count
    - null_percent
    - distinct_count
    - distinct_percent
    - min
    - max
    - mean
    - stddev
    - histogram

# Drift detection configuration
drift_detection:
  strategy: absolute_threshold
  absolute_threshold:
    low_threshold: 5.0
    medium_threshold: 15.0
    high_threshold: 30.0

# Event hooks configuration
hooks:
  enabled: false

