/veil

Extends the Laravel environment encrypt and decrypt commands.

Primary LanguagePHPMIT LicenseMIT

Veil for Laravel

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