Environment-based config.yml values?

What is the official/built-in/most convenient way to have different config.yml values based on environment? At minimum, I’m looking to differentiate the values used for local vs k8s in the tutor args. Ideally, I can also define environment specific yaml that combines or overrides a common yaml (e.g. config.local.yml would get merged into config.yml) and maybe even pick different k8s environments.

Manually, I can maintain separate config files and rename it when I switch between “tutor local” and “tutor k8s” or I can run a script that can merge the config and its environment overrides. But these are manually triggered and I don’t want to accidentally run or use settings in 1 environment in the other. There is currently a notion of environments (local, k8s) being created out of the same config file. This is different as I am looking for these environments to be configured differently with user-defined variables.

Is there a built-in way to do this so that “tutor local” uses local config and “tutor k8s” use k8s config?

Hello. Can you share more context on why there is a need for different config files for different environments?