omenejoseph/dynamic-env

一个用于从AWS secrets等秘密服务动态生成.env值的包

1.0.0 2022-07-31 09:42 UTC

This package is auto-updated.

Last update: 2024-09-30 01:27:10 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

想象一下,你正在为新团队成员配置环境,需要发送他们所有必要的变量以运行laravel应用程序,或者你向.env文件中添加了一个新变量,并希望所有工程师都能拥有这个新变量及其实际值(例如,不能提交到git的.env示例),这个包利用AWS secrets帮助解决这个问题。只需一条命令,你就可以将当前的.env文件同步到AWS secrets manager,并要求团队成员重新填充他们的.env文件以包含所有新变量。此包的另一个优点是,您可以指定要同步和填充的环境,从而正确地分离环境,使它们变得整洁。

安装

您可以通过composer安装此包

composer require omenejoseph/dynamic-env

别忘了发布应用程序配置并预先填充适当的凭据

return [
    /* Secret manager */
    'secret_manager' => 'aws',

    /* AWS credentials */
    'aws_key' => env('AWS_ACCESS_KEY_ID'),
    'aws_secret' => env('AWS_SECRET_ACCESS_KEY'),
    'aws_secret_region' => env('AWS_SECRET_REGION'),

    /* Environments that you would be saving the envs to */
    'environments' => [
        'local',
        'qa',
        'production'
    ],

    /* suffix appended to .env when generating the new file eg. .env.sync */
    'env-suffix' => 'sync',
];

用法

php artisan sync:env

此命令会询问您要同步到哪个环境,并将当前.env文件中的变量填充到AWS secret中

php artisan populate:env

此命令会询问您要从哪个环境填充,并将当前.env文件替换为AWS secrets中该环境的env变量。

测试

composer test

更新日志

有关最近更改的更多信息,请参阅更新日志

贡献

有关详细信息,请参阅贡献

安全

如果您发现任何安全相关的问题,请通过runoomene01@gmail.com发送电子邮件,而不是使用问题跟踪器。

鸣谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件

Laravel Package Boilerplate

此包是使用Laravel Package Boilerplate生成的。