tommerrett/ laravel-gae-secret-manager
在将Laravel部署到Google App Engine(标准或灵活)时管理密钥。将所有密钥存储在Google Datastore中。
v0.2
2020-09-16 11:27 UTC
Requires
- php: >=7.0.13
- google/cloud-datastore: ^1.9
- illuminate/cache: 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || ^6.0 || ^7.0 || ^8.0
This package is auto-updated.
Last update: 2024-09-23 14:58:05 UTC
README
在将Laravel部署到Google App Engine(标准或灵活)时管理密钥。将所有密钥存储在Google Datastore中。
安装
- 在您的Laravel项目的
composer.json
中要求此包。这将下载该包。
composer require tommerrett/laravel-gae-secret-manager
Maatwebsite\Excel\ExcelServiceProvider
默认自动发现并注册,但如果你想要自己注册它
在config/app.php中添加ServiceProvider
'providers' => [
/*
* Package Service Providers...
*/
tommerrett\LaravelGAESecretManager\GAESecretsServiceProvider::class,
]
- 要发布配置,运行vendor publish命令
php artisan vendor:publish --provider="tommerrett\LaravelGAESecretManager\GAESecretsServiceProvider"
这将创建一个名为config/GAESecrets.php的新配置文件。
在这里您可以设置包的功能。您需要通过设置variables
数组来定义您希望在数据存储中存储的ENV变量。
设置哪个环境应使用数据存储来存储密钥,通过提供enabled-environments
中的数组。
一些env变量存储在配置中,因此我们需要定义是否需要更新配置文件以包含数据存储的值,这是通过设置variables-config
数组来完成的。例如,如果您在数据存储中存储'APP_KEY',您需要将以下内容添加到variables-config
选项中:'APP_KEY' => 'app.key'
缓存 - 数据存储请求可以为每个请求增加额外的100-250ms延迟。建议使用缓存来显著减少这种延迟。默认启用基于文件的缓存。设置剩余的配置设置以自定义包执行的缓存。
配置数据存储
您需要在Google Datastore中创建一个名为Parameters
(区分大小写)的新实体。按照以下说明进行操作
- 转到:
https://console.cloud.google.com/datastore/entities?project=<project-name>
,如果您是第一次使用数据存储,则必须选择数据存储模式(不是firestore - 因为firestore不受支持)。 - 创建一个名为
Entity
的新实体 - 向实体添加一个名为
name
的新属性(类型:字符串)并输入环境变量名称 - 向实体添加一个名为
value
的新属性(类型:字符串)并输入值 - 保存实体
- 重复上述步骤,将所有要存储在数据存储中的环境变量输入。