tommerrett/laravel-gae-secret-manager

在将Laravel部署到Google App Engine(标准或灵活)时管理密钥。将所有密钥存储在Google Datastore中。

v0.2 2020-09-16 11:27 UTC

This package is auto-updated.

Last update: 2024-09-23 14:58:05 UTC


README

在将Laravel部署到Google App Engine(标准或灵活)时管理密钥。将所有密钥存储在Google Datastore中。

安装

  1. 在您的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,
]
  1. 要发布配置,运行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(区分大小写)的新实体。按照以下说明进行操作

  1. 转到:https://console.cloud.google.com/datastore/entities?project=<project-name>,如果您是第一次使用数据存储,则必须选择数据存储模式(不是firestore - 因为firestore不受支持)。
  2. 创建一个名为Entity的新实体
  3. 向实体添加一个名为name的新属性(类型:字符串)并输入环境变量名称
  4. 向实体添加一个名为value的新属性(类型:字符串)并输入值
  5. 保存实体
  6. 重复上述步骤,将所有要存储在数据存储中的环境变量输入。