Where do i put settings for frameworks in the config?

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.

3 Likes

Hi Anthony! Any reason you couldn’t put the settings in config/env/includes/frameworks.yml?

[More on that file in the Default Config’s README]

2 Likes

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
2 Likes

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!

5 Likes

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.

3 Likes

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! :blush:

And if you find things in there that are still unclear, I’d love to hear that feedback. Thanks!

3 Likes