corbosman/laravel-docker-secrets

在您的Laravel配置文件中使用Docker Swarm Secrets

3.0.0 2023-12-23 19:27 UTC

This package is auto-updated.

Last update: 2024-09-23 21:14:04 UTC


README

Latest Version on Packagist Total Downloads Build

此包允许您在Laravel配置文件中使用docker swarm secrets。注意,有一些限制,请参见下面的使用说明。

安装

通过Composer

$ composer require corbosman/laravel-docker-secrets

使用

此包提供了两个辅助方法,您可以在Laravel配置文件中使用。由于Laravel解析配置文件的方式,您只能在env()方法中使用它们。在实践中,这几乎总是您想要的,因为它允许您在本地开发中覆盖秘密。

<?php
    return [
        'password' => env('PASSWORD', docker_secret('my-docker-secret'))
    ];
?>   

您还可以存储加密的Docker secrets。请注意,秘密必须使用您的应用密钥加密。如果您与团队共享swarm,这将非常有用。其他项目无法仅挂载您的秘密并查看它们。

<?php
    return [
        'password' => env('PASSWORD', docker_secret_encrypted('my-encrypted-docker-secret'))
    ];
?>   

最后,如果秘密不可用,您还可以返回默认值。

<?php
    return [
        'password' => env('PASSWORD', docker_secret_encrypted('my-docker-secret', 'my-default'))
    ];
?>      

创建加密秘密

此包提供了一个命令,可以轻松生成加密的秘密,然后您可以将其存储在Docker Swarm中。它使用项目的app secret进行加密,因此请确保在使用Swarm秘密的服务中也使用相同的密钥。您也可以简单地使用Tinker创建加密的秘密。

$ artisan docker-secret:encrypt foobar
eyJpdiI6ImY5dWdHeHJ2WkpZdUNTZFlVYUZpMFE9PSIsInZhbHVlIjoidmZPblk2eEIxNy8vdkl6OE5YSGF2dz09IiwibWFjIjoiZTdmYmVmNmQ5YzA5ZTI3YzI0NjFjOGJkOTY5ODhjNDkwMmMwYWVmMTkwYzcyNzMzN2ZlYWQ1NzlhNzlkM2RjZCJ9

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

测试

$ composer test

贡献

请参阅contributing.md以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过作者电子邮件而不是问题跟踪器联系。

鸣谢

许可

请参阅许可文件以获取更多信息。