GitPod
Learn how to use Doppler with your GitPod workspaces.
In this guide, you'll learn how to use the Doppler CLI in your GitPod workspaces.
Prerequisites
You have a GitPod account.
Create a Custom Docker Image
To reduce workspace container startup time, we'll add a custom Dockerfile that creates an image based on GitPod's base image, but also has the Doppler CLI pre-installed. To do that, create a .gitpod.Dockerfile
in your project with the contents below:
FROM gitpod/workspace-full
RUN sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg \
&& curl -sLf --retry 3 --tlsv1.2 --proto "=https" 'https://packages.doppler.com/public/cli/gpg.DE2A7741A397C129.key' | sudo apt-key add - \
&& echo "deb https://packages.doppler.com/public/cli/deb/debian any-version main" | sudo tee /etc/apt/sources.list.d/doppler-cli.list \
&& sudo apt-get update \
&& sudo apt-get install -y doppler
After creating the Dockerfile, add the following to your .gitpod.yml
file:
image:
file: .gitpod.Dockerfile
After doing this, your workspace containers should startup using GitPod's base image, but with the Doppler CLI installed already. The first time you start a workspace after making this change will result in a relatively lengthy build process, but the resulting container is cached and subsequent starts will just use the prebuilt image. You can also just use a public or private docker image if you'd rather do that as well.
Generate CLI Token
This method involves storing and using your CLI token in GitPod's account variables and workspace containers for your account. This token provides the same level of access to secrets that your Doppler account has from the dashboard. GitPod stores the variable values in an encrypted state, but they're available in plain text inside a workplace (see their note on that here)
The best way to do this is from inside a GitPod workspace. Start up a new workspace using the image we just created above. Once the workspace is open, go ahead and login using the Doppler CLI:
doppler login
Choose No
at the prompt (a new browser window can't be opened from inside a GitPod workspace via the CLI) and then open the address that's printed in a new browser tab. Be sure you copy the auth code that's printed because you'll need to that to finish the authorization process.
After doing that you'll be asked to choose your workplace and then asked to give the token a name β just name it GitPod
or similar so you can identify it in your Doppler dashboard later.
Switch back to the tab with your open GitPod workspace. Now is the time to set this as an account variable using the GitPod CLI (which is pre-installed on their base image):
gp env DOPPLER_LOCAL_TOKEN=$(doppler configure get token --plain)
Now, open up the account variable settings page and edit the DOPPLER_LOCAL_TOKEN
variable you just created. If you want Doppler to work on all your projects, then change the scope from the specific project you created it from to */*
.
Update Your .gitpod.yml
Files
.gitpod.yml
FilesAdd the following to your .gitpod.yml
file:
tasks:
- name: Start Development Environment
command: |
doppler configure set token $DOPPLER_LOCAL_TOKEN
doppler setup --project YOUR_PROJECT_NAME_HERE --config YOUR_CONFIG_NAME_HERE
YOUR_USUAL_COMMAND_HERE
Make sure you update YOUR_PROJECT_NAME_HERE
and YOUR_CONFIG_NAME_HERE
to the actual values for the Doppler project and config you want. Set YOUR_USUAL_COMMAND_HERE
to whatever you had been running in the command section previously.
Amazing Work!
Now you are all set up on GitPod. Every time a new workspace is created, it will automatically have Doppler installed and configured for you!
Updated almost 2 years ago