Add support for Doppler
Hey Cal community! Excited to add Doppler support for secure secrets management. Guide to using Doppler with Cal:
thank you! we'll test this and get back to you. is doppler strictly required, no right?
That is correct. You can still use env files. This just fixes the Docker builds and adds support for Doppler.
Personal opinion, but does Doppler belong embedded in the docker image? Absolutely not attacking Doppler, but in concept this adds proprietary functionality that might not work for folks who don't use Doppler. I'd rather see this added as part of an Examples or Advanced Usage section, if the concerns can be separated.
It's a great question I asked myself as well when building. Here was my thinking behind why I landed in the Dockerfile.
- For Doppler to work due to how docker-compose works we will need the Doppler CLI to be available in the container. Wrapping the
docker composecommands withdoppler runsadly won't work as compose won't pass those environment variables to the containers. - The next question is do we install it at build-time or run-time. I chose build-time because if the CLI ever fails to download during the build there are no serious consequences compared to at runtime.
The way I structured the code is that Doppler is 100% optional to use. The Doppler CLI is very small so installing during the build shouldn't have a large impact on the size of the image. I also structured the README so it's a separate section called "Secrets Management".
@bvallelunga is it ok if we table this temporarily while we resolve the current docker build issues? (i know you have some fixes embedded)
@krumware sure! Feel free to update the thread when you feel we are ready to resume. I can update the PR to just include the Doppler additions once the Docker issues have been fixed.
@krumware how's the Docker support going? Happy to resume working on this PR when you are ready.
in touch with @krumware on slack!
@bvallelunga can you join in on the calendso slack and we can chat about it?
Just joined the Slack
