-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for monorepo-friendly structuring in doppler.yaml setup file #374
Conversation
622fd4e
to
e670e51
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did some quick testing locally and this works great!
e6b8a3e
to
959ebb8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Requesting review from @nmanoogian as a sanity check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work on this! I did some light local testing; just two small callouts
a31b884
to
caeac52
Compare
caeac52
to
064c0c7
Compare
064c0c7
to
3bc72d1
Compare
@nmanoogian @Piccirello Tweaked the error checking a bit. Would love a second look at that when you have a chance. |
Nice refactor! |
so nice! I'm looking forward to this update :) |
Bypassing branch protection to merge this, despite the Salus failure. The failure is unrelated to our code: coinbase/salus#828 |
Hi! |
@ZeldOcarina All Doppler CLI commands will remain unchanged! All this does is make it so you can create a single Once the setup is done, you won't need to specify the project or config in your CLI command because that's already setup. |
Thank you!! I made it work somehow! It also helped me to handle this question: |
This adds support for a more monorepo-friendly setup file. Historically, a setup file (
doppler.yaml
) had this format:It could only contain values for a single project+config combination. If you had a monorepo that contained many services as subdirectories, you had to essentially add one of these to each of the subdirectories and then have a script go through running
doppler setup
in each directory (or clever usage offind
on linux systems).This change now supports setup files in this format:
It lets you specify multiple project+repo combinations and adds a new
path
field. If nopath
field is specified, then it refers to the root directory. If one is specified, it's relative to the root directory.The change maintains backwards compatibility with old setup files while allowing the new usage. If the new format is detected, it will loop through, prompting you if you want to perform the setup for each directory (and prints the directory it's performing the setup for).
--no-interactive
will work as expected in this case. If the old format is detected, then everything works as it has historically.Fixes ENG-3644.