Skip to content

Simplify core config - #3

Merged
markstory merged 13 commits into
masterfrom
split-config
Sep 21, 2026
Merged

markstory merged 13 commits into
masterfrom
split-config

Conversation

@markstory

Copy link
Copy Markdown
Owner

Split application config from the core config. I've not liked that changing an application config requires changing all the libraries as keeping all the libraries in sync with each other is tedious.

Moving all the application config into taskturbine-app::config::Config lets the core configuration be much simpler, and lets python, rust and other bindings evolve independently if they need to. This will also let taskturbine-core avoid dependencies on libraries like Figment when environment variable and config file support is added.

It doesn't need to be in core. I want to avoid having to update
3 libraries each time a new configuration option is added. By separating
the app & core config, core should have fewer reasons to change.
I think the ergonomics of being able to define all the configuration as
a single struct are important. Duplicating the attributes and having an
`Into<CoreConfig>` lets app configuration be cast into the core config.
This is needed in the cli tools. But we'll also need config. This helps
fix a bug where application config would be dropped when creating a CLI
instance.
App config will propagate more nicely now.
@markstory
markstory merged commit 3eecbcf into master Sep 21, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant