mcpField
D
doppler

doppler

github.com/rube-deセキュリティ1036 回インストール1 週間前に更新
リポジトリ

doppler について

dopplerは、Doppler Secrets Managementを利用する開発者向けのスキルです。CLI操作、プロジェクトや設定の管理、シークレット注入、連携、セキュリティ対策を扱います。

主な機能

  1. 01プロジェクト、環境、設定の管理
  2. 02シークレットの取得、設定、削除
  3. 03コマンドやファイルへのシークレット注入
  4. 04外部プラットフォームとの同期
  5. 05セキュリティ対策とトラブルシューティング

活用シーン

  1. 01ローカルプロジェクトでDoppler CLIを設定
  2. 02環境シークレットを注入してプログラムを実行
  3. 03デプロイ先プラットフォームへシークレットを同期
  4. 04認証や設定の問題を調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rube-de/cc-skills --skill doppler

インストール後、Claude Code で/dopplerを入力して読み込まれたか確認します。

同梱ファイルreferences/CLI.mdreferences/INTEGRATIONS.md

詳細

Doppler のシークレット管理

Doppler のシークレット管理プラットフォームを包括的にサポートします。CLI 操作、プロジェクトと設定の管理、シークレットの注入、連携先との同期、セキュリティのベストプラクティスを扱います。

トリガー

ユーザーが「doppler」、「secrets management」、「doppler cli」、「doppler secrets」、「doppler run」、「doppler setup」、「doppler configs」、「doppler projects」、「secret injection」、「doppler environments」、「service tokens」について言及した場合に、このスキルを使用します。

クイックスタート

CLI のインストール
# macOS
brew install gnupg && brew install dopplerhq/cli/doppler

# Linux (Debian/Ubuntu)
apt-get update && 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' | \
  gpg --dearmor -o /usr/share/keyrings/doppler-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/doppler-archive-keyring.gpg] https://packages.doppler.com/public/cli/deb/debian any-version main" | \
  tee /etc/apt/sources.list.d/doppler-cli.list
apt-get update && apt-get install doppler

# Shell script (any OS)
curl -sLf --retry 3 --tlsv1.2 --proto "=https" https://get.doppler.com | sh
認証とセットアップ
# Login (opens browser for auth)
doppler login

# Setup project in current directory (interactive)
doppler setup

# Non-interactive setup
doppler setup --project my-app --config dev --no-interactive

目的別の一般的なタスク

開発者の目的操作
すべてのシークレットを一覧表示するdoppler secrets -p <project> -c <config>
1 つのシークレットを取得するdoppler secrets get SECRET_NAME -p <project> -c <config>
シークレットを設定するdoppler secrets set KEY=value -p <project> -c <config>
複数のシークレットを設定するdoppler secrets set KEY1=val1 KEY2=val2
シークレットを削除するdoppler secrets delete SECRET_NAME
シークレットを使ってコマンドを実行するdoppler run -- your-command --flags
特定の設定で実行するdoppler run -p backend -c dev -- npm start
シークレットをファイルとしてダウンロードするdoppler secrets download --format env --no-file
プロジェクトを一覧表示するdoppler projects
設定を一覧表示するdoppler configs -p <project>
環境を一覧表示するdoppler environments -p <project>
設定を複製するdoppler configs clone -p <project> -c <source> --name <new>
アクティビティログを表示するdoppler activity
現在のセットアップを確認するdoppler configure debug
ダッシュボードを開くdoppler open
認証済みユーザーを確認するdoppler me

シークレット注入のパターン

環境変数への注入
# Inject secrets as env vars for any command
doppler run -- node server.js
doppler run -- docker compose up
doppler run -- terraform apply

# Run a shell command string
doppler run --command "echo $DATABASE_URL && npm start"

# Only inject specific secrets
doppler run --only-secrets DATABASE_URL,API_KEY -- node server.js
シークレットをファイルにマウントする
# Mount as JSON file (ephemeral, cleaned up after process exits)
doppler run --mount secrets.json -- cat secrets.json

# Mount as .env file
doppler run --mount .env --mount-format env -- your-command

# Mount with template
doppler run --mount config.yaml --mount-template template.yaml -- your-command
テンプレートの置換
# Substitute secrets into a template file
doppler secrets substitute template.env.tpl > .env
オフライン時・耐障害性のためのフォールバック
# Run with fallback file (writes encrypted secrets on success, reads on failure)
doppler run --fallback ./fallback.encrypted -- npm start

# Read-only fallback (never update the fallback file)
doppler run --fallback ./fallback.encrypted --fallback-readonly -- npm start

# Offline mode (read directly from fallback, no API contact)
doppler run --fallback-only --fallback ./fallback.encrypted -- npm start

プロジェクトと設定の階層

Doppler では、シークレットを階層構造で管理します。

Workplace
 └── Project (e.g. "backend", "frontend")
      └── Environment (e.g. "development", "staging", "production")
           └── Config (e.g. "dev", "stg", "prd")
                └── Branch Config (e.g. "dev_feature-x")
設定の継承
  • ルート設定(dev、stg、prd)は、それぞれの環境から継承します
  • ブランチ設定は、親設定から継承します
  • 上書きは連鎖して適用されます:環境 → 設定 → ブランチ設定
  • 個人設定を使うと、チームに影響を与えずに各開発者が個別に上書きできます

連携先との同期

Doppler では、シークレットを外部プラットフォームと自動的に同期できます。

プラットフォーム用途
AWS Secrets Manager / SSMECS、Lambda、EC2 のデプロイ
GCP Secret ManagerGKE、Cloud Run、Cloud Functions
Azure Key VaultAKS、App Service、Functions
Cloudflare Pages / Workersエッジおよび Jamstack のデプロイ
Vercelフロントエンド/フルスタックのデプロイ
Firebase Functions / HostingFunctions の設定とビルド時のシークレット
Serverless FrameworkLambda/サーバーレス関数のシークレット
GitHub ActionsCI/CD のシークレット
Docker / Docker Composeコンテナへの環境変数の注入
KubernetesDoppler Operator 経由の Secret オブジェクト
TerraformInfrastructure as Code
Webapp.ioCI/CD の Layerfile シークレット
HerokuPaaS のデプロイ

サービストークン

CI/CD と本番環境では、サービストークン(読み取り専用で、単一の設定にスコープを限定)を使用します。

# Generate a service token via dashboard or API
# Use in CI/CD:
DOPPLER_TOKEN=dp.st.xxx doppler run -- your-command

# Or set as environment variable
export DOPPLER_TOKEN=dp.st.xxx
doppler secrets

セキュリティのベストプラクティス

  • シークレットをバージョン管理にコミットしないでください。信頼できる唯一の情報源として Doppler を使用します
  • 本番環境ではサービストークンを使用してください(読み取り専用で、設定ごとにスコープを限定)
  • ローカル開発での上書きには個人設定を使用してください
  • 本番環境の設定では変更リクエストを有効にしてください(変更前に承認が必要になります)
  • シークレットを定期的にローテーションしてください。Doppler のローテーションリマインダーを使用します
  • 可能な場合は OIDC 認証を使用してください。有効期間の短いトークンを利用できます
  • doppler activity とダッシュボードの監査ログでアクセスを監査してください
  • ブランチ設定を使用して、機能ブランチごとのシークレットを分離してください
  • 本番環境で --no-verify-tls を使用しないでください

リファレンスドキュメント

詳しく調べるには、以下のリファレンスを参照してください。

リファレンス内容
CLI.mdすべてのサブコマンドとフラグを含む、CLI コマンドの完全なリファレンス
INTEGRATIONS.mdCI/CD、Docker、Kubernetes、クラウドプラットフォームとの統合パターン

トラブルシューティング

認証の問題
  1. doppler me を実行して、現在の認証状態を確認します
  2. doppler configure debug を実行して、有効な設定を確認します
  3. doppler login で再認証します
  4. スコープを確認します:doppler configure get token --scope /path/to/project
読み込まれるシークレットが間違っている
  1. アクティブなプロジェクト/設定を確認します:doppler configure debug
  2. スコープを確認します:プロジェクトディレクトリで doppler setup を実行します
  3. 明示的なフラグを使用します:doppler secrets -p project -c config
  4. 環境変数による上書きを確認します:doppler run --preserve-env=false
フォールバックファイルの問題
  1. フォールバックパスに書き込み権限があることを確認します
  2. パスフレーズが変更されていないことを確認します(デフォルトでは設定に依存します)
  3. doppler run clean を使用して、古いフォールバックファイルを削除します
  4. 新しい doppler run --fallback ./path -- echo ok で再生成します
サービストークンが機能しない
  1. トークンが正しいプロジェクトと設定用であることを確認します
  2. サービストークンは読み取り専用です。シークレットの設定や削除はできません
  3. ダッシュボードでトークンが取り消されていないことを確認します
  4. DOPPLER_TOKEN 環境変数が正しく設定されていることを確認します

ワークフロー

Doppler の操作を支援する際は、次の手順に従います。

  1. タスクを特定する:セットアップ、シークレット管理、注入、統合、デバッグのいずれかを確認します
  2. 前提条件を確認する:doppler CLI がインストールされているか、ユーザーが認証済みかを確認します
  3. スコープを特定する:対象のプロジェクトと設定を確認します
  4. リファレンスを参照する:CLI フラグや統合パターンの詳細について、リファレンスドキュメントを使用します
  5. セキュリティを最優先する:ログにシークレット値を出力しないでください。一覧表示には --only-names を使用します

コメント