# The catalog site: where generate-docs writes it, when it is written again, and how
# publish-docs publishes it through ngrok.
#
# `etl-craft generate-yml --docs` turns Schedule into a DAG that runs `etl-craft generate-docs`;
# without an orchestrator, run that command from cron or Task Scheduler on the same schedule.
#
# Each setting is marked `# variable` or `# value`. A variable is looked up in
# the secrets source (here: the process environment); when it is not set, the
# text itself is used, so `Profile: dev` is simply dev.
#
# Complete and loadable as written: tests/unit/test_config_examples.py loads every
# file in this directory, for every profile it declares.

Secrets:
  Source_type: environment             # value

Orchestration:
  Mode: remote                         # value

Engine:
  dev:
    jdbc_url: jdbc:sqlite:engine.db    # value
    schema: main                       # value

Warehouse:
  dev:
    jdbc_url: jdbc:duckdb:warehouse.duckdb  # value
    schema: main                       # value

Docs_site:
  dev:
    Schedule: "0 2 * * *"              # value — 02:00 every day; five cron fields, or @daily
    Output: docs-site                  # value — relative to this file; default catalog/
    Authtoken: NGROK_AUTHTOKEN         # variable — the ngrok authtoken, for publish-docs only
    Domain: etl-docs.example.com       # value — optional: a domain reserved in ngrok
    Allowed_ips: 203.0.113.0/24, 198.51.100.0/24  # value — optional: the only visitors served
