{"id":28316737,"url":"https://github.com/camatcode/ex_doppler","last_synced_at":"2025-06-24T06:30:41.909Z","repository":{"id":289889055,"uuid":"972728612","full_name":"camatcode/ex_doppler","owner":"camatcode","description":"Manage and access your Doppler secrets without leaving Elixir ","archived":false,"fork":false,"pushed_at":"2025-05-17T20:20:32.000Z","size":484,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-01T12:42:01.235Z","etag":null,"topics":["doppler","elixir","secrets-management"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/camatcode.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-25T15:01:19.000Z","updated_at":"2025-05-20T12:39:50.000Z","dependencies_parsed_at":"2025-05-02T19:28:24.627Z","dependency_job_id":null,"html_url":"https://github.com/camatcode/ex_doppler","commit_stats":null,"previous_names":["camatcode/ex_doppler"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/camatcode/ex_doppler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camatcode%2Fex_doppler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camatcode%2Fex_doppler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camatcode%2Fex_doppler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camatcode%2Fex_doppler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/camatcode","download_url":"https://codeload.github.com/camatcode/ex_doppler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camatcode%2Fex_doppler/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261620042,"owners_count":23185448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["doppler","elixir","secrets-management"],"created_at":"2025-05-25T03:08:03.249Z","updated_at":"2025-06-24T06:30:41.897Z","avatar_url":"https://github.com/camatcode.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/camatcode/ex_doppler/refs/heads/master/assets/ex_doppler-logo-dark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/camatcode/ex_doppler/refs/heads/master/assets/ex_doppler-logo-light.png\"\u003e\n    \u003cimg alt=\"ex_doppler logo\" src=\"https://raw.githubusercontent.com/camatcode/ex_doppler/refs/heads/master/assets/ex_doppler-logo-light.png\" width=\"320\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Manage and access your Doppler secrets without leaving Elixir\n\u003c/p\u003e\n\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://hex.pm/packages/ex_doppler\"\u003e\n    \u003cimg alt=\"Hex Version\" src=\"https://img.shields.io/hexpm/v/ex_doppler.svg\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://hexdocs.pm/ex_doppler\"\u003e\n    \u003cimg alt=\"Hex Docs\" src=\"http://img.shields.io/badge/hex.pm-docs-green.svg?style=flat\"\u003e\n  \u003c/a\u003e\n\n  \u003c!--\n  \u003ca href=\"https://github.com/camatcode/ex_doppler/actions\"\u003e\n    \u003cimg alt=\"CI Status\" src=\"https://github.com/camatcode/ex_doppler/workflows/ci/badge.svg\"\u003e\n  \u003c/a\u003e\n  --\u003e\n  \n  \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\n    \u003cimg alt=\"Apache 2 License\" src=\"https://img.shields.io/hexpm/l/oban\"\u003e\n  \u003c/a\u003e\n\n\u003ca href=\"https://mastodon.social/@scrum_log\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cimg alt=\"Mastodon Follow\" src=\"https://img.shields.io/badge/mastodon-%40scrum__log%40mastodon.social-purple?color=6364ff\"\u003e\n  \u003c/a\u003e\n\n\u003c/p\u003e\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Mapping](#mapping)\n- [Not Implemented](#not-implemented)\n\n## Installation\n\nAdd `:ex_doppler` to your list of deps in `mix.exs`:\n\n```elixir\n{:ex_doppler, \"~\u003e 1.0\"}\n```\n\nThen run `mix deps.get` to install ExDoppler and its dependencies.\n\n## Quick Start\n\n1. [Create a Doppler Token](https://docs.doppler.com/docs/service-tokens#creating-service-tokens)\n2. Put your token in your environment (**NEVER** put the token anywhere in your code)\n  ```sh\n  export HISTIGNORE='export DOPPLER_TOKEN*'\n  \n  export DOPPLER_TOKEN='dp.st.prd.xxxx'\n  ```\n3. Use ExDoppler to access your secrets\n  ```elixir\n      secret_value = ExDoppler.get_secret_raw!(\"example-project\", \"dev_personal\", \"DB_URL\")\n  ```\n\n4. You're good to go. I really recommend you have a look at [the docs](https://hexdocs.pm/ex_doppler/)\n\n\n## Mapping\n\n| Realm            | Actions Implemented                                                       | ExDoppler Module                   | Notes |\n|------------------|---------------------------------------------------------------------------|------------------------------------|-------|\n| Activity Logs    | List, Retrieve                                                            | `ExDoppler.ActivityLogs`           |       |\n| Auths            | Me, ODIC, Revoke                                                          | `ExDoppler.Auths`                  |       |\n| Config Logs      | List, Retrieve, Rollback                                                  | `ExDoppler.ConfigLogs`             |       |\n| Configs          | List, Retrieve, Create, Rename, Clone, Lock, Unlock, Delete               | `ExDoppler.Configs`                |       |\n| Environments     | List, Retrieve, Create, Update, Delete                                    | `ExDoppler.Environments`           |       |\n| Integrations     | List, Retrieve, Create, Update, Get Options, Delete                       | `ExDoppler.Integrations`           |       |\n| Invites          | List                                                                      | `ExDoppler.Invites`                |       |\n| Project Members  | List, Retrieve                                                            | `ExDoppler.ProjectMembers`         |       |\n| Project Roles    | List, Retrieve, Create                                                    | `ExDoppler.ProjectRoles`           |       |\n| Projects         | List, Retrieve, Create, Update, Delete, List Project Permissions          | `ExDoppler.Projects`               |       |\n| Secret Syncs     | Retrieve, Create, Delete                                                  | `ExDoppler.SecretSyncs`            |       |\n| Secrets          | List, Retrieve, Download, List Names, Create, Update, Update Note, Delete | `ExDoppler` or `ExDoppler.Secrets` |       |\n| Service Accounts | List                                                                      | `ExDoppler.ServiceAccounts`        |       |\n| Service Tokens   | List, Create, Delete                                                      | `ExDoppler.ServiceTokens`          |       |\n| Shares           | Plain Text                                                                | `ExDoppler.Shares`                 |       |\n| Webhooks         | List, Retrieve, Enable, Disable, Create, Delete                           | `ExDoppler.Webhooks`               |       |\n| Workplace Roles  | List, Retrieve                                                            | `ExDoppler.WorkplaceRoles`         |       |\n| Workplace Users  | List, Retrieve, Update                                                    | `ExDoppler.WorkplaceUsers`         |       |\n| Workplace        | Retrieve, Update                                                          | `ExDoppler.Workplaces`             |       |\n\n## Not Implemented\n\n| Realm : Action                                                                                        | Implemented | Notes                                                  |\n|-------------------------------------------------------------------------------------------------------|-------------|--------------------------------------------------------|\n| [Project Roles : Create](https://docs.doppler.com/reference/project_roles-create)                     | ⁉️          | Requires a Team tier                                   |\n| [Project Roles : Update](https://docs.doppler.com/reference/project_roles-update)                     | ⁉️          | Requires a Team tier                                   |\n| [Project Members : Add](https://docs.doppler.com/reference/project_members-add)                       | ⁉️          | Requires a Team tier                                   |\n| [Project Members : Update](https://docs.doppler.com/reference/project_members-update)                 | ⁉️          | Requires a Team tier                                   |\n| [Project Members : Delete](https://docs.doppler.com/reference/project_members-delete)                 | ⁉️          | Requires a Team tier                                   |\n| [Project Roles : Delete](https://docs.doppler.com/reference/project_roles-delete)                     | ⁉️          | Requires a Team tier                                   |\n| [Trusted IPs : List](https://docs.doppler.com/reference/configs-list_trusted_ips)                     | ⁉️          | Requires a Team tier                                   |\n| [Trusted IPs : Add](https://docs.doppler.com/reference/configs-add_trusted_ip)                        | ⁉️          | Requires a Team tier                                   |\n| [Trusted IPs : Delete](https://docs.doppler.com/reference/configs-delete_trusted_ip)                  | ⁉️          | Requires a Team tier                                   |\n| [Groups : List](https://docs.doppler.com/reference/groups-list)                                       | ⁉️          | Requires a Team tier                                   |\n| [Groups : Create](https://docs.doppler.com/reference/groups-create)                                   | ⁉️          | Requires a Team tier                                   |\n| [Groups : Retrieve](https://docs.doppler.com/reference/groups-get)                                    | ⁉️          | Requires a Team tier                                   |\n| [Groups : Update](https://docs.doppler.com/reference/groups-update)                                   | ⁉️          | Requires a Team tier                                   |\n| [Groups : Delete](https://docs.doppler.com/reference/groups-delete)                                   | ⁉️          | Requires a Team tier                                   |\n| [Groups : Add Member](https://docs.doppler.com/reference/groups-add_member)                           | ⁉️          | Requires a Team tier                                   |\n| [Groups : Delete Memeber](https://docs.doppler.com/reference/groups-delete_member)                    | ⁉️          | Requires a Team tier                                   |\n| [Groups : Retrieve Memeber](https://docs.doppler.com/reference/retrieve-member)                       | ⁉️          | Requires a Team tier                                   |\n| [Service Accounts : List](https://docs.doppler.com/reference/service_accounts-list)                   | ⁉️          | Requires a Team tier                                   |\n| [Service Accounts : Create](https://docs.doppler.com/reference/service_accounts-create)               | ⁉️          | Requires a Team tier                                   |\n| [Service Accounts : Retrieve](https://docs.doppler.com/reference/service_accounts-get)                | ⁉️          | Requires a Team tier                                   |\n| [Service Accounts : Update](https://docs.doppler.com/reference/service_accounts-update)               | ⁉️          | Requires a Team tier                                   |\n| [Service Accounts : Delete](https://docs.doppler.com/reference/service_accounts-delete)               | ⁉️          | Requires a Team tier                                   |\n| [Service Account Tokens : List](https://docs.doppler.com/reference/service_account_tokens-list)       | ⁉️          | Requires a Team tier                                   |\n| [Service Account Tokens : Create](https://docs.doppler.com/reference/service_account_tokens-create)   | ⁉️          | Requires a Team tier                                   |\n| [Service Account Tokens : Retrieve](https://docs.doppler.com/reference/service_account_tokens-get)    | ⁉️          | Requires a Team tier                                   |\n| [Service Account Tokens : Delete](https://docs.doppler.com/reference/service_account_tokens-delete)   | ⁉️          | Requires a Team tier                                   |\n| [Webhooks : Update](https://docs.doppler.com/reference/webhooks-update)                               | ⁉️          | It's...complex                                         |\n| [Workplace Roles : Create](https://docs.doppler.com/reference/workplace_roles-create)                 | ⁉️          | Requires a Team tier                                   |\n| [Workplace Roles : Update](https://docs.doppler.com/reference/workplace_roles-update)                 | ⁉️          | Requires a Team tier                                   |\n| [Workplace Roles : Delete](https://docs.doppler.com/reference/workplace_roles-delete)                 | ⁉️          | Requires a Team tier                                   |\n| [Configs : Inheritable](https://docs.doppler.com/reference/configs-inheritable)                       | ⁉️          | Requires a Team tier                                   |\n| [Configs : Inherits](https://docs.doppler.com/reference/configs-inherits)                             | ⁉️          | Requires a Team tier                                   |\n| [Change Request Policies : Create](https://docs.doppler.com/reference/change-request-policies-create) | ⁉️          | Requires a Team tier                                   |\n| [Change Request Policies : Retrieve](https://docs.doppler.com/reference/change-request-policies-get)  | ⁉️          | Requires a Team tier                                   |\n| [Change Request Policies : Update](https://docs.doppler.com/reference/change-request-policies-update) | ⁉️          | Requires a Team tier                                   |\n| [Change Request Policies : Delete](https://docs.doppler.com/reference/change-request-policies-delete) | ⁉️          | Requires a Team tier                                   |\n| [Dynamic Secrets : Issue Lease](https://docs.doppler.com/reference/dynamic_secrets-issue_lease)       | ⁉️          | Requires a Team tier                                   |\n| [Dynamic Secrets : Revoke](https://docs.doppler.com/reference/dynamic_secrets-revoke_lease)           | ⁉️          | Requires a Team tier                                   |\n| [Share : E2E Encrypted](https://docs.doppler.com/reference/share-secret-encrypted)                    | ⁉️          | Spent hours trying to get the link to actually decrypt |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamatcode%2Fex_doppler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcamatcode%2Fex_doppler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamatcode%2Fex_doppler/lists"}