Custom tenant variables (beta01)

The new tenant variable format is good and all, but going from one project per client to tenants I do miss one thing. Having one project per client it was easier to setup specific variables per client than now. Variable templates are very good for important / required variables, but I feel they lack a bit in how much you can customize a client without showing a huge list of variables.
Our application has a pretty big config.json file with all kind of settings like mail server, connectionstrings, backup schedules etc. In most cases a client config can use default values, but in some cases we want to change variables. With config file replacement it worked really great as I could just generate a new variable for that project with same path as config.json variable. In new setup I feel more need to predefine which variables a tenant should be allowed to override, which can lead to a really long list of template variables if I want to expose all of them. I cant set one variable only for one tenant. To work around it I now have a template variable where I can paste in a json that it will basically merge with default config.json file during deployment. Allowing any tenant to override variables in config.json as they want.
It doesnt look as pretty and feels less “elegant” than before though. Would be great if it somehow was possible to create tenant specific variables.

Hi Terje,
In moving some of the variable configuration out of the projects area and into the tenants pages this meant that we had to ensure we made it easy for users to tell what variables come from where. For this reason we introduced the idea of the deployment-blocking “warning” icon for missing variables if a tenant does not supply variables for a template that does not have a default value. This way the users can concentrate on the projects with the confidence that the variables that they need for the deployment will be present at deploy-time.
We had considered the option of allowing you to specify any variables on a tenant level (much the same way that standard project variables work) however had concerns that this wild-west of configurations could get difficult to manage and reason about. In some sense if there are many variables that you need for one tenant, but not another, then perhaps you are describing a different deployment project with seperate steps. For these reasons at the moment we don’t have plans to provide a mechanism to supply tenant specific variables however if there is a demand from the community for such a feature then we may consider the option.
Thanks again for trying multi-tenancy, your input and thoughts on some of these features have been much appreciated and we hope you continue to enjoy using Octopus Deploy.
Robert