Skip to content

Laravel Nova tool for checking healthy of your Laravel app

License

Notifications You must be signed in to change notification settings

stepanenko3/nova-health

Repository files navigation

Nova Health

Latest Version on Packagist Total Downloads License

screenshot of tool

Description

Laravel Nova tool for checking healthy of your Laravel app based on https://github.com/spatie/laravel-health

Requirements

  • php: >=8.0
  • laravel/nova: ^4.0

Installation

You can install the nova tool in to a Laravel app that uses Nova via composer:

composer require stepanenko3/nova-health

Configure

  1. Configure spatie/laravel-health using instructions before continue installing
  2. Add your health checks usgin spatie/laravel-health docs

Next up, you must register the tool with Nova. This is typically done in the tools method of the NovaServiceProvider.

// in app/Providers/NovaServiceProvder.php

// ...

public function tools()
{
    return [
        // ...
        new \Stepanenko3\NovaHealth\NovaHealth,
    ];
}

Publish the config file:

php artisan vendor:publish --provider="Stepanenko3\NovaHealth\ToolServiceProvider"

Usage

Click on the "Health" menu item in your Nova app to see the tool.

// app/Providers/AppServiceProvider.php

use Spatie\Health\Facades\Health;
use Stepanenko3\NovaHealth\Checks\OutdatedPackagesCheck;
use Stepanenko3\NovaHealth\Checks\SslCheck;

Health::checks([
    SslCheck::new()
        ->domain('laravel.com'),

    SslCheck::new()
        ->domain('snotax.com'),

    OutdatedPackagesCheck::new()
        ->failWhenOutdatedPackagesIsHigher(1),
]);

Configuration

All the configuration is managed from a single configuration file located in config/nova-health.php

Screenshots

screenshot of tool screenshot of tool

Credits

Contributing

Thank you for considering contributing to this package! Please create a pull request with your contributions with detailed explanation of the changes you are proposing.

License

This package is open-sourced software licensed under the MIT license.