Doppler Secrets Manager
The functionality of Release's Doppler Secrets Manager integration and how to set it up
Doppler Secrets Manager allows you to securely manage and inject secrets directly into your Release environments. Integrating Doppler with Release involves setting up the Doppler Kubernetes Operator to synchronize secrets with Kubernetes and then configuring Release to utilize these secrets for various services and jobs.
Prerequisites
Before you begin, ensure you have:
Access to a Release environment with Kubernetes clusters configured.
The Release CLI installed and configured.
A Doppler account with appropriate service tokens generated.
Setting Up Doppler in Release
Follow these steps to integrate Doppler Secrets Manager with Release.
Set Up Kubeconfig for Your Release Cluster
First, use the Release CLI to generate and configure kubeconfig for your Release cluster:
This command fetches the kubeconfig for your Release cluster and sets it as the current context for kubectl.
Install the Doppler Kubernetes Operator
The Doppler Kubernetes Operator allows secrets to be synced from Doppler into your Kubernetes cluster. To install it, add the Doppler Helm repository and install the operator:
Create a Doppler Token Secret in Kubernetes
Next, create a Kubernetes secret with your Doppler service token. This token should have the necessary permissions to access the secrets you intend to use. Run the following command, replacing YOUR_DOPPLER_SERVICE_TOKEN
with your actual token:
Configure your application in Release to use Doppler Secrets
To configure and link Doppler secrets to services in Release, start by defining the secrets you’ll need from Doppler, pointing each set to a specific Doppler project and configuration. Then, link these secrets to your services using the secrets_from
field in each service configuration. This setup enables each service to securely access the exact set of secrets it requires from Doppler.
For example, define a development set of secrets for the Rails project and a development-ai set for an AI project. Each set references a Doppler project and configuration, as shown below:
Now you can associate these secrets with the appropriate services. The rails
service, for instance, can use the development secrets, while an ai-chatbot
service accesses the development-ai
secrets.
In this example:
The rails
service links to the development
secrets, which pull from the rails project and dev configuration in Doppler. The ai-chatbot
service uses development-ai
secrets from the ai
project and dev
configuration. By defining and linking Doppler secrets in this way, each service has secure, targeted access to only the secrets it needs, simplifying secrets management and enhancing security across your Release environment.
Debugging Doppler Secrets Issues
You may get errors when trying to access secrets from Doppler. To view the logs from the doppler operator, run the following command:
This command fetches the logs from the Doppler operator controller manager, allowing you to troubleshoot any issues with secrets synchronization. Common issues include incorrect service account permissions, invalid Doppler service tokens, or misconfigured Doppler projects and configurations.
Last updated