Skip to content

discovery

etl_craft.config.discovery

Finding craft-connector.yml.

resolve_config_path

resolve_config_path(explicit: str | Path | None = None, *, start: Path | None = None) -> Path

Return the config file to read: --config, then $ETL_CRAFT_CONFIG, then a search.

The search looks in start (the current directory by default) and then each parent, the way .git is found, because a scheduler's working directory is rarely the project's. In each directory it looks for craft-connector.yml (the directory is the project) and for etl-craft/craft-connector.yml (the directory holds the project). Finding both in one directory is a ConfigurationError: which one is meant cannot be told. With nothing found, it returns etl-craft/craft-connector.yml in start, so the error names where the file was expected.