Manage and access your Doppler secrets without leaving Elixir
Add :ex_doppler to your list of deps in mix.exs:
{:ex_doppler, "~> 1.0"}Then run mix deps.get to install ExDoppler and its dependencies.
- Create a Doppler Token
- Put your token in your environment (NEVER put the token anywhere in your code)
export HISTIGNORE='export DOPPLER_TOKEN*'
export DOPPLER_TOKEN='dp.st.prd.xxxx'- Use ExDoppler to access your secrets
secret_value = ExDoppler.get_secret_raw!("example-project", "dev_personal", "DB_URL")- You're good to go. I really recommend you have a look at the docs
| Realm | Actions Implemented | ExDoppler Module | Notes |
|---|---|---|---|
| Activity Logs | List, Retrieve | ExDoppler.ActivityLogs |
|
| Auths | Me, ODIC, Revoke | ExDoppler.Auths |
|
| Config Logs | List, Retrieve, Rollback | ExDoppler.ConfigLogs |
|
| Configs | List, Retrieve, Create, Rename, Clone, Lock, Unlock, Delete | ExDoppler.Configs |
|
| Environments | List, Retrieve, Create, Update, Delete | ExDoppler.Environments |
|
| Integrations | List, Retrieve, Create, Update, Get Options, Delete | ExDoppler.Integrations |
|
| Invites | List | ExDoppler.Invites |
|
| Project Members | List, Retrieve | ExDoppler.ProjectMembers |
|
| Project Roles | List, Retrieve, Create | ExDoppler.ProjectRoles |
|
| Projects | List, Retrieve, Create, Update, Delete, List Project Permissions | ExDoppler.Projects |
|
| Secret Syncs | Retrieve, Create, Delete | ExDoppler.SecretSyncs |
|
| Secrets | List, Retrieve, Download, List Names, Create, Update, Update Note, Delete | ExDoppler or ExDoppler.Secrets |
|
| Service Accounts | List | ExDoppler.ServiceAccounts |
|
| Service Tokens | List, Create, Delete | ExDoppler.ServiceTokens |
|
| Shares | Plain Text | ExDoppler.Shares |
|
| Webhooks | List, Retrieve, Enable, Disable, Create, Delete | ExDoppler.Webhooks |
|
| Workplace Roles | List, Retrieve | ExDoppler.WorkplaceRoles |
|
| Workplace Users | List, Retrieve, Update | ExDoppler.WorkplaceUsers |
|
| Workplace | Retrieve, Update | ExDoppler.Workplaces |
| Realm : Action | Implemented | Notes |
|---|---|---|
| Project Roles : Create | Requires a Team tier | |
| Project Roles : Update | Requires a Team tier | |
| Project Members : Add | Requires a Team tier | |
| Project Members : Update | Requires a Team tier | |
| Project Members : Delete | Requires a Team tier | |
| Project Roles : Delete | Requires a Team tier | |
| Trusted IPs : List | Requires a Team tier | |
| Trusted IPs : Add | Requires a Team tier | |
| Trusted IPs : Delete | Requires a Team tier | |
| Groups : List | Requires a Team tier | |
| Groups : Create | Requires a Team tier | |
| Groups : Retrieve | Requires a Team tier | |
| Groups : Update | Requires a Team tier | |
| Groups : Delete | Requires a Team tier | |
| Groups : Add Member | Requires a Team tier | |
| Groups : Delete Memeber | Requires a Team tier | |
| Groups : Retrieve Memeber | Requires a Team tier | |
| Service Accounts : List | Requires a Team tier | |
| Service Accounts : Create | Requires a Team tier | |
| Service Accounts : Retrieve | Requires a Team tier | |
| Service Accounts : Update | Requires a Team tier | |
| Service Accounts : Delete | Requires a Team tier | |
| Service Account Tokens : List | Requires a Team tier | |
| Service Account Tokens : Create | Requires a Team tier | |
| Service Account Tokens : Retrieve | Requires a Team tier | |
| Service Account Tokens : Delete | Requires a Team tier | |
| Webhooks : Update | It's...complex | |
| Workplace Roles : Create | Requires a Team tier | |
| Workplace Roles : Update | Requires a Team tier | |
| Workplace Roles : Delete | Requires a Team tier | |
| Configs : Inheritable | Requires a Team tier | |
| Configs : Inherits | Requires a Team tier | |
| Change Request Policies : Create | Requires a Team tier | |
| Change Request Policies : Retrieve | Requires a Team tier | |
| Change Request Policies : Update | Requires a Team tier | |
| Change Request Policies : Delete | Requires a Team tier | |
| Dynamic Secrets : Issue Lease | Requires a Team tier | |
| Dynamic Secrets : Revoke | Requires a Team tier | |
| Share : E2E Encrypted | Spent hours trying to get the link to actually decrypt |