Hi everyone,
Introduced in version 15.7, projects can now define a maximum of 200 variables (before, it was unlimited). In our case, we have slightly more than 200, and actually, we could see (or could have seen) ourselves grow to 1000+. Let me explain why, and please let me know if you have any advice on how to bypass that limit, or redesign our project in some way that would let us continue working.
At the core, our project is a web application (with dev and prod environment) that needs some environment variables (Cloud- and Firebase-related variables, Django secrets, …); it probably needs around 25, times 2 since we have 2 environments and the value of the variable is different based on the environment, so 50 in total. Initially, we built this web application for ourselves only, but we’re now offering it to other clients as well, but in a white-label way (i.e., their name, their logo, their domain, etc…). As we planned to offer this solution to dozens of clients with the same code base (except for some custom texts, colors, …), it didn’t make sense to us to create a different project for each new client as it would be very annoying to make fixes to all projects when needed. Hence we’ve decided to use the same project, but create a different environment for each client (actually, 2 environments for each client, dev + prod); deploying in dev would deploy to all dev environments, and deploying in prod would deploy to all prod environments. This means that our total number of variables is now ~2xCxV, where C is our number of clients, and V is our number of variables (it’s approximate as some variables are common to all clients). That way, we end up needing more than 200 variables quite quickly.
Now, is there some kind of design mistake on our side here? I think the benefits of having a single project are greater than having one project per client, but this limit now makes it impossible to work. Is there some way to “bypass” this limit, maybe by storing JSON with a key/value in it for each client instead of a simple string in each variable and reading the “actual” variables from those JSON variables?
I would love to get the insights of others into that. I was considering opening a new issue on GitLab, but if someone has an idea on how to deal with that, I’d be grateful.
Best,
Valentin