Skip to content

Add Doppler CLI shell plugin#562

Open
CodeByZach wants to merge 1 commit into
1Password:mainfrom
CodeByZach:add-doppler-plugin
Open

Add Doppler CLI shell plugin#562
CodeByZach wants to merge 1 commit into
1Password:mainfrom
CodeByZach:add-doppler-plugin

Conversation

@CodeByZach

Copy link
Copy Markdown

Overview

This PR adds a shell plugin for the Doppler CLI, enabling secure authentication using 1Password and biometric unlock.

The plugin allows Doppler CLI users to:

  • Store Personal Access Tokens securely in 1Password
  • Authenticate CLI commands with Touch ID/Face ID
  • Import existing tokens from environment variables
  • Provision credentials automatically as DOPPLER_TOKEN

Type of change

  • Created a new plugin

Related Issue(s)

N/A

How To Test

  1. Build and install the plugin:

    make doppler/build
    
  2. Initialize the plugin:
    op plugin init doppler

  3. Test authentication:
    doppler me

  4. You should be prompted to paste your Doppler Personal Access Token and save it to 1Password.

  5. Verify biometric auth works:
    doppler projects list

Changelog

Authenticate the Doppler CLI using Touch ID and other unlock options with 1Password Shell Plugins.

  Authenticate the Doppler CLI using Touch ID and other unlock options with 1Password Shell Plugins.

  The plugin supports:
  - Personal Access Token authentication
  - Environment variable import from DOPPLER_TOKEN
  - Automatic provisioning as DOPPLER_TOKEN
  - CLI authentication detection

Signed-off-by: Zachary Miller <codebyzach@gmail.com>
@CodeByZach CodeByZach marked this pull request as ready for review November 27, 2025 18:40
@CodeByZach

Copy link
Copy Markdown
Author

Friendly follow up
@edif2008
@Marton6
@volodymyrZotov
@SimonBarendse

1 similar comment
@CodeByZach

Copy link
Copy Markdown
Author

Friendly follow up
@edif2008
@Marton6
@volodymyrZotov
@SimonBarendse

@zachary-onix

zachary-onix commented Feb 12, 2026

Copy link
Copy Markdown

Kindly following up
@AndyTitu
@edif2008
@volodymyrZotov

@zachary-onix

Copy link
Copy Markdown

@scottisloud

@scottisloud scottisloud left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting this together — the overall plugin structure looks right, and using DOPPLER_TOKEN matches the Doppler CLI docs.

A few things I'd like to see before we merge:

  • Remove plugins/plugins.go from the PR. That file is generated by make registry and is gitignored in this repo. Adding it will conflict with other plugin changes; CI/maintainers regenerate it when needed.
  • Align naming with the token type you're modeling. The file is service_token.go and the constructor is ServiceToken(), but the credential uses credname.PersonalAccessToken, the description says "Personal Token", and the prefix is dp.pt. (personal). Please rename to match (e.g. personal_access_token.go / PersonalAccessToken()) or split credentials if you intend to support both.
  • Fix the management URL. https://dashboard.doppler.com/workplace/<workplace-id>/tokens/personal won't work as a link — use a real dashboard or docs URL without placeholders.
  • Service tokens (dp.st.). Doppler documents service tokens as the common choice for non-interactive use via DOPPLER_TOKEN (token formats). Right now the schema only accepts dp.pt.. Could you add support for service tokens (second credential or broader composition) or call out clearly if this plugin is personal-token-only?

nit: consider adding a fixed length hint (40–44 chars after the prefix) per Doppler's format docs, and a config-file importer for ~/.doppler if you want smoother imports after doppler login.

Happy to take another look once these things are addressed! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants