intermax / veil
Improve working with encrypted environment files in Laravel.
Installs: 2 114
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 1
Open Issues: 3
Requires
- php: ^8.1
Requires (Dev)
- larastan/larastan: ^2.7
- laravel/framework: ^10.0|^11.0
- laravel/pint: ^1.13
- orchestra/testbench: ^8.17
- pestphp/pest: ^2.28
Suggests
- laravel-zero/framework: This package is meant to be used with Laravel or Laravel Zero as it extends the commands to encrypt/decrypt environments
- laravel/framework: This package is meant to be used with Laravel or Laravel Zero as it extends the commands to encrypt/decrypt environments
README
Veil is a package to help manage encrypted environments in your Laravel or Laravel Zero application. It adds an --only-values
flag to the Laravel encrypted environment commands. Without this package, this environment file:
APP_NAME="My awesome app"
APP_ENV=local
APP_DEBUG=true
SOME_API_KEY=12345678
Will turn into:
eyJpdiI6ImplT2xTaGRzV... # Really long string
But with this package you can make it look like this:
APP_NAME="My awesome app"
APP_ENV=local
APP_DEBUG=true
SOME_API_KEY=eyJpdiI6ImplT2xTaGRzV...
This improves readability of the encrypted environment file, maybe even making the .env.example
file obsolete.
Installation
Just install this package through composer:
composer require intermax/veil
Usage
Just use the env:encrypt
and env:decrypt
commands as usual, but add an --only-values
flag:
php artisan env:encrypt --only-values ... php artisan env:decrypt --only-values ...
Only Encrypting Secrets
By default, if the --only-values
flag is used only variables ending with _PASSWORD
, _KEY
and _SECRET
will be encrypted. You can configure this behaviour with the --only
flag. If you would only want to encrypt the variables ending with _SECRET
and the APP_KEY
, use it like this:
php artisan env:encrypt --only-values --only="*_SECRET,APP_KEY"
For decrypting, there is no difference: the decrypt command will leave unencrypted values.
Encrypting Everything
If you still want to encrypt everything while keeping variable names readable, use the --all
flag:
php artisan env:encrypt --only-values --all