@extends('layouts.app') @section('title','Hosting operations') @section('content')
Release{{ config('production.release') }}
Deployment mode{{ config('production.mode') }}
Storage engine{{ $checks['innodb'] ? 'InnoDB verified' : 'Check required' }}
@if(app()->environment('local'))

Local setup

Your HRMS runs on this computer with the existing MySQL database. No custom domain, Cloudflare account or cloud deployment is required.

Open company dashboard
@endif
Optional production readiness checks

These checks show this environment's configuration and worker heartbeats. A local development setup does not establish a production release or independent security sign-off.

@foreach($checks as $key=>$ok)

{{ $ok?'Verified':'Needs configuration' }} {{ ucwords(str_replace('_',' ',$key)) }}

@endforeach
@can('branding.manage')@if(app(\App\Domain\Platform\Entitlements::class)->enabled('branding'))
Custom domains & HTTPS

Permanent fallback: @if(config('production.base_domain'))https://{{ app(\App\Domain\Identity\TenantContext::class)->tenant()->slug }}.{{ config('production.base_domain') }}@else Configure PLATFORM_BASE_DOMAIN in the server environment.@endif

A customer CNAME alone does not provide HTTPS. Publish ownership TXT and CNAME records, verify DNS, then activate after the TLS adapter serves a valid certificate and application proof. Use the fallback host while DNS/TLS is pending.

@csrf @php($uitenantdomains=\App\Support\ListView::rows($domains,'tenant_domains'))@foreach($uitenantdomains as $d)

{{ $d->hostname }} · {{ $d->status }}

TXT: _zentrik-challenge.{{ $d->hostname }} → zentrik={{ $d->proof }}

CNAME: {{ $d->hostname }} → {{ config('production.domain_target') }}

@foreach(['verify'=>'Verify DNS ownership','activate'=>'Check HTTPS & activate','disable'=>'Disable hostname'] as $action=>$label)
@csrf
@endforeach
@endforeach
@endif @endcan @can('deployment.manage')
Signed offline licence

Installation ID: {{ config('production.installation_id') ?? 'Configure INSTALLATION_ID for an offline deployment.' }} · Bound company: {{ config('production.tenant_slug') ?? 'Configure DEPLOYMENT_TENANT_SLUG.' }}

Runtime uses only an externally configured public trust-key file. The issuer's private signing key must remain outside the application. Signature, installation, company, dates, module/user caps and increasing sequence are verified. Expired licences preserve data; use this screen on the platform URL to install renewal.

@if($licence)

Installed sequence {{ $licence->sequence }} · Expires {{ gmdate('Y-m-d H:i:s',$licence->claims['expires_at']) }} UTC

@endif
@csrf
Release evidence & independent review
@csrf

Release review register

@php($uireleasereviews=\App\Support\ListView::rows($reviews,'release_reviews'))@forelse($uireleasereviews as $review)

{{ $review->release }} · {{ $review->kind }} · {{ $review->status }}

{{ $review->evidence }}

@if($review->status==='pending' && $review->submitted_by!==auth()->id())
@csrf@else

{{ $review->decision_note }}

@endif
@empty

No company acceptance evidence has been recorded. Automated test results do not replace deployment-specific UAT or an independent penetration test.

@endforelse
@endcan @endsection