.env vars check for Spatie's Laravel Health
Laravel Health by Spatie, in addition to providing some default checks, allows you to create your own.
This package checks if all variables you need have been set in you .env
file.
Some variables are needed in every environment; others only in specific ones. For example, you want to be sure that BUGSNAG_API_KEY
has been set in your production environment, but you don't need this while developing locally.
Did anyone say "it works on my machine"?
Who has never lost several minutes before realizing that, let's say in production
, something is not working because one or more variables have not been valued?
Installation
You can install the package via composer:
composer require encodia/laravel-health-env-vars
Usage
Register this Check just like the others:
// typically, in a service provider
use Spatie\Health\Facades\Health;
use Spatie\Health\Checks\Checks\UsedDiskSpaceCheck;
use Encodia\Health\Checks\EnvVars;
Health::checks([
// From Spatie's examples
UsedDiskSpaceCheck::new()
->warnWhenUsedSpaceIsAbovePercentage(70)
->failWhenUsedSpaceIsAbovePercentage(90),
// Many other checks...
/*
* Check that SOME_API_KEY and MAIL_FROM_ADDRESS variables are
* set (no matter in which environment)
*/
EnvVars::new()
->requireVars([
'SOME_API_KEY',
'MAIL_FROM_ADDRESS',
])
]);
Need to check only in a specific environment if a variable has been set?
No problem:
// typically, in a service provider
use Spatie\Health\Facades\Health;
use Spatie\Health\Checks\Checks\UsedDiskSpaceCheck;
use Encodia\Health\Checks\EnvVars;
Health::checks([
// ...
// (other checks)
// ...
/*
* Check that SOME_API_KEY and MAIL_FROM_ADDRESS variables are
* set (no matter in which environment).
*
* Only in staging, ensure EXTENDED_DEBUG_MODE has been set.
*
* Additionally, only in production,
* ensure BUGSNAG_API_KEY has been set.
*/
EnvVars::new()
->requireVars([
'SOME_API_KEY',
'MAIL_FROM_ADDRESS',
])
->requireVarsForEnvironment('staging', [
'EXTENDED_DEBUG_MODE'
])
->requireVarsForEnvironment('production', [
'BUGSNAG_API_KEY'
]);
]);
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.