corbosman / laravel-docker-secrets
在您的Laravel配置文件中使用Docker Swarm Secrets
3.0.0
2023-12-23 19:27 UTC
Requires
- illuminate/support: ^9.0 | ^10.0 | ^11.0
Requires (Dev)
- orchestra/testbench: ^7.0
- phpunit/phpunit: ~9.0
- squizlabs/php_codesniffer: ^3.5
README
此包允许您在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以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过作者电子邮件而不是问题跟踪器联系。
鸣谢
许可
请参阅许可文件以获取更多信息。