agz / laravel-gcp-secret-injector
在您的Laravel环境中包含GCP密钥,无需在.env文件中显式声明
0.0.1
2024-03-08 21:40 UTC
Requires
- php: ^7.4|^8.0
- ext-bcmath: *
- google/cloud-secret-manager: ^1.13
Requires (Dev)
- phpunit/phpunit: ^9.0
README
此软件包帮助将敏感数据从您的Google Cloud Secret Manager加载到Laravel环境中,而不是在.env文件中显式定义。
先决条件
您需要已经在项目中安装了 google/cloud-secret-manager
。
安装
您可以通过composer安装此软件包
composer require agz/laravel-secret-injector
要发布配置文件,运行供应商发布命令
php artisan vendor:publish --tag=gcp-secret-injector
配置
发布密钥注入资产后,其配置将位于config/secret-injector.php。配置允许您配置您的环境变量与Google Cloud密钥相对应。
return [
'project_id' => env('GOOGLE_CLOUD_PROJECT'),
'includedEnvs' => ['production'],
'secrets' => []
];
project_id
指向您Google Cloud项目ID。 includedEnvs
指定配置库应激活的环境。例如,默认配置为仅生产环境。这意味着一旦您的APP_ENV设置为生产,则库将从Google Cloud Secret Manager中提取密钥到您的环境。
secrets
用于配置哪些环境变量应指向哪些密钥。
'secrets' => [
'ENVIROMENTAL_VARIABLE' => 'SECRET_NAME:VERSION',
]
例如
'secrets' => [
'APP_KEY' => 'APP_KEY:latest',
'DB_PASSWORD' => 'DB_PASSWORD:1',
]
测试
composer test
贡献者
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。