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.
Just install this package through composer:
composer require intermax/veil
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 ...
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.
If you still want to encrypt everything while keeping variable names readable, use the --all
flag:
php artisan env:encrypt --only-values --all