Evaluate local paths relative to the config file #71
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reimplement configuration parsing so that intermediate configuration files are validated by Pydantic once, before being turned back into dictionaries, merged into one structure, and validated again by Pydantic to get the final configuration object.
This has some implications for how multiple configuration files are handled, and the documentation has been updated to reflect this. Realistically, however, the side effects from this are expected to be minimal.
This allows a new
LocalPath
attribute type to be added, which is evaluated when these intermediate configuration files are loaded, and parsed to be absolute paths relative to the directory containing the actual configuration file the attribute was loaded from.If a
LocalPath
type attribute has a default value and was not defined in the configuration, the directory that contains the originally parsed configuration is used to turn it into an absolute path (instead of the current working directory for the Buildarr process.)The following attributes have been changed to type
LocalPath
:buildarr.secrets_file_path