- Add automated Traefik version checking job running weekly on Sundays - Implement version detection from running containers and comparison with versions.json - Add notifications across all channels (Email, Discord, Slack, Telegram, Pushover, Webhook) for outdated versions - Create dismissible callout component with localStorage persistence - Display cross-branch upgrade warnings (e.g., v3.5 -> v3.6) with changelog links - Show patch update notifications within same branch - Add warning icon that appears when callouts are dismissed - Prevent duplicate notifications during proxy restart by adding restarting parameter - Fix notification spam with transition-based logic for status changes - Enable system email settings by default in development mode - Track last saved/applied proxy settings to detect configuration drift
30 lines
903 B
PHP
30 lines
903 B
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use App\Jobs\CheckTraefikVersionJob;
|
|
use Illuminate\Console\Command;
|
|
|
|
class CheckTraefikVersionCommand extends Command
|
|
{
|
|
protected $signature = 'traefik:check-version';
|
|
|
|
protected $description = 'Check Traefik proxy versions on all servers and send notifications for outdated versions';
|
|
|
|
public function handle(): int
|
|
{
|
|
$this->info('Checking Traefik versions on all servers...');
|
|
|
|
try {
|
|
CheckTraefikVersionJob::dispatch();
|
|
$this->info('Traefik version check job dispatched successfully.');
|
|
$this->info('Notifications will be sent to teams with outdated Traefik versions.');
|
|
|
|
return Command::SUCCESS;
|
|
} catch (\Exception $e) {
|
|
$this->error('Failed to dispatch Traefik version check job: '.$e->getMessage());
|
|
|
|
return Command::FAILURE;
|
|
}
|
|
}
|
|
}
|