| name | secrets |
| description | GCP Secret Manager を使って .env ファイルを管理 |
Skill: secrets
GCP Secret Manager を使って .env ファイルを管理するスキル
コマンド一覧
初期化
gcloud-secrets init <project-id> [--env <default>]
GCP プロジェクト ID を設定します。--env でデフォルト環境を指定できます(省略時は dev)。
一覧表示
gcloud-secrets list
gcloud-secrets list <folder> --env dev
シークレット取得 (pull)
gcloud-secrets pull --env dev
gcloud-secrets pull <folder> --env prod
Secret Manager から .env 形式でシークレットを取得します。
シークレット登録 (push)
gcloud-secrets push --env dev
gcloud-secrets push <folder> --env prod
gcloud-secrets push <folder> <file> --env staging
同期状況スキャン (scan)
gcloud-secrets scan
gcloud-secrets scan --env dev
gcloud-secrets scan <path> --env prod
Git リポジトリ内の .env / .dev.vars ファイルと Secret Manager の同期状況を確認します。
値から逆引き検索 (search)
gcloud-secrets search "api-key-12345"
gcloud-secrets search "client-id" --env prod
シークレットの値から、使用しているフォルダ・環境・キーを逆引き検索します。
出力例:
Searching for: "api-key-12345"
Scanning 45 secrets...
[FOUND] my-app / dev - EXTERNAL_API_KEY
[FOUND] my-app / prod - EXTERNAL_API_KEY
[FOUND] other-service / dev - LINE_CLIENT_ID
Found 3 matches in 2 folders
scan 出力例:
=== Secret Manager 同期状況 ===
[OK] project-a/ .env [dev] (3 keys)
[DIFF] project-b/ .env [prod] (2 keys) - 差分あり
[NEW] project-c/ .dev.vars [dev] (5 keys) - 未登録
---
合計: 3 ファイル
登録済み: 1
差分あり: 1
未登録: 1
環境 (Environment) オプション
--env または -e で環境を指定できます:
dev - 開発環境
staging - ステージング環境
prod - 本番環境
- その他任意の文字列
デフォルト環境は ~/.secrets-manager.conf の DEFAULT_ENVIRONMENT で設定されます。
使用例
gcloud-secrets init my-gcp-project --env dev
gcloud-secrets push --env dev
gcloud-secrets pull --env prod > .env.prod
gcloud-secrets scan ~/
gcloud-secrets scan ~/ --env dev
gcloud-secrets search "line-client-id-xxx"