Ive got a custom framework that has some configuration settings in the info.yml. I cant figure out where to place the settings in my config so that the framework is able to pick them up. I’ve got a tk-framework-custom.yml in the settings folder in the config. Can someone offer some guidance? I cant find any examples of frameworks with settings.
Hi Anthony! Any reason you couldn’t put the settings in config/env/includes/frameworks.yml
?
That didn’t seem to work. Ive tried quite a few different ways of adding these to the config now. Heres the error in the current iteration:
[ERROR tk-nuke] App R:\work\anthony.kramer\github\tk-multi-render failed to initialize. It will not be loaded: Framework configuration Error for tk-framework-deadline_v1.0.x: Could not determine value for key 'web_service_machine' in settings! No specified value and no default value.
Here is the code in frameworks.yml
frameworks:
tk-framework-deadline_v1.0.x:
location:
name: tk-framework-deadline
type: dev
path: R:\work\anthony.kramer\github\tk-framework-deadline
settings.tk-framework-deadline_v1.0.x:
web_service_machine: test
web_service_port: 8082
Are you including the settings.tk-framework-deadline_v1.0.x
block anywhere? In order for that block of YAML to actually be at play in your config, you’ll need to include it in some file (more on includes here).
The way that file is structured by default, everything falls under a single frameworks
block, and that block is included, as a whole into each of the environment config files (ie, config/env/*.yml) with the following lines:
includes:
- ./includes/frameworks.yml
and
frameworks: "@frameworks"
The first block specifies the file from which to include, the second references that frameworks
block by prepending an @
to its name: @frameworks
.
So, I’d suggest just adding your settings to that block in frameworks.yml
, so your additions would look like:
frameworks:
tk-framework-deadline_v1.0.x:
location:
name: tk-framework-deadline
type: dev
path: R:\work\anthony.kramer\github\tk-framework-deadline
web_service_machine: test
web_service_port: 8082
Let us know if it’s still not working!
That did it. I was convinced that the word “settings” needed to be in there somewhere like it is for engines and apps. Might be good to add that somewhere in the docs.
It’s a little esoteric, but it comes down to understanding what is part of the structure of our pipeline configurations in general, and what are conventions that we use in our own configs. settings
isn’t a keyword; it’s just a word we’ve chosen to use as a convention. The document I linked above, the Environment Configuration Reference, covers all these details. It’s admittedly a dry read, but hopefully an informative one!
And if you find things in there that are still unclear, I’d love to hear that feedback. Thanks!