Increase in secret referencing

Doppler currently has a system of referencing environment secrets between projects which is written in each box of each secret in each configuration, which is very good and on that functionality would like to form an improvement for a particular case where the references are made in projects of similar configurations, the idea is that you can bring the values of a variable in all environments of a source project, and cross with the values of the target project in their environments.

For example, I have 3 projects, MAIN_PROJECT, A_PROJECT and B_PROJECT, the project MAIN_PROJECT has 3 environments: DEVELOP, STAGING and PROD, and it has 3 secrets

  • MAIN_PROJECT

Secret | DEVELOP | STAGING | PROD |
VAR_1 | qwe | rty | uio |
VAR_2 | asd | zxc | qwe |
VAR_3 | qwerti | qwerto | qwertu |

In A_PROJECT you need the secrets VAR_1 and VAR_2 from MAIN_PROJECT and you have the same environments, then with the new feature from A_PROJECT you can navigate to MAIN_PROJECT and select from there the variables you need, in the back you make the reference with the writing in each box but the user only selects the external secrets, and A_PROJECT would look like this:

  • A_PROJECT

Secret | DEVELOP | STAGING | PROD |
VAR_1 | $MAIN.DEV.VAR_1 | $MAIN.STG.VAR_1 | $MAIN.PRD.VAR_1 |
VAR_2 | $MAIN.DEV.VAR_2 | $MAIN.STG.VAR_2 | $MAIN.PRD.VAR_2 |

Here you could take 2 approaches, one is within the receiving project to somehow save the references so that you somehow know which secrets were added with this feature, or just write the fields for each secret without further ado, which would also be fine.

Now, in B_PROJECT let’s say you need the secret VAR_3, but it has a different/additional environment, in that case the cross over could not be done for that specific box and the blank space would be left for the user to define its value, or reference.

B_PROJECT

Secret | DEVELOP | STAGING | PRODUCT |
VAR_3 | $MAIN.DEV.VAR_3 | $MAIN.STG.VAR_3 | 646363 |

For the user it is a pop-up where the projects are explored and selecting the projects, environment and secrets.

The main reason for this functionality is that you can reference secrets much more quickly and conveniently than typing them into each field one at a time, and it would also help a lot in migrating secrets from other systems to here: in principle you only need one project that contains all the secrets.

I hope I have described the functionality well, best regards.