We have a shared multi-tenant API that requires configuration from multiple Octopus tenants based on a tenant tag set:
Tenant 1 has tenant tag A
Tenant 2 has tenant tag A
Tenant 3 has tenant tag B
Target X has tenant tag A
Target Y has tenant tag B
Project has Channels for tenant tags A and B
I would like my project to be deployed once to each target, in a kind of non-tenanted capacity, but I need variables from each tenant with the tag specified in the channel. So my end result would be:
Project is deployed once to Target X using configuration variables from Tenant 1 and Tenant 2.
Project is deployed once to Target Y using configuration variables from Tenant 3.
I know this is possible by using the Octopus API to iterate tenants, but is there a more intended/integrated way of configuring this kind of arrangement?
As each tenant will be in its own deployment and it is currently not possible to have 1 deployment that for 2 tenants, hence it cannot have 1 deployment with variables coming from more than 1 tenant.
If you have some variables that shared between tenants, you might consider using Common Variables for tenant. I have also attached the link for tenant specific variables from here
I guess I could move the application’s configuration to a channel-specific location and have a new tenanted project that is just for updating it, it would probably be more upkeep to keep everything in sync, but it could avoid requiring API calls.
I think I’m going to try both solutions and see which is better.