@extends('layouts.admin') @section('content')

Operations

Health & Backups

@csrf
@csrf
@foreach($health as $component=>$checks)@php($latest=$checks->first())

{{ str($component)->headline() }}

{{ str($latest->status)->headline() }}

{{ $latest->checked_at }}

@endforeach

Backup history

Local archives are checksum-verified after creation. When an off-host path is configured, the replicated copy is independently verified too.

Offsite: {{ filled(config('hms.offsite_backup_path'))?'Configured':'Not configured' }}
@forelse($backups as $backup)@empty@endforelse
CreatedLocalOffsiteSizeSHA-256Error
{{ $backup->created_at }}{{ str($backup->status)->headline() }}{{ $backup->offsite_status?str($backup->offsite_status)->headline():'—' }}@if($backup->offsite_completed_at)
{{ $backup->offsite_completed_at->toDayDateTimeString() }}
@endif
{{ $backup->size_bytes?number_format($backup->size_bytes/1048576,2).' MB':'—' }}{{ $backup->sha256?substr($backup->sha256,0,16).'…':'—' }}{{ $backup->error ?: $backup->offsite_error }}@if($backup->status==='completed' && $backup->path)Download local@endif
No backup attempts yet.

Verification commands: php artisan hms:backup-verify validates the latest local archive; add --offsite to validate its replicated copy.

Production acceptance still requires a real off-host destination and a restore drill in a non-production environment. The application will not treat a same-host local archive as sufficient recovery protection.

@endsection