Fix subdomain DNS messaging for Ladill nameservers and retire pending-setup primaries.
Deploy Ladill Hosting / deploy (push) Successful in 47s

Treat ns_auto domains as managed DNS, publish subdomain A records via PowerDNS without failing the UX when the local DNS registry is missing, and promote real linked domains over pending-setup.local placeholders.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-13 16:47:50 +00:00
co-authored by Cursor
parent 460edb8719
commit 136cf8b719
12 changed files with 686 additions and 45 deletions
+21 -5
View File
@@ -39,11 +39,27 @@
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
@if($site->ssl_enabled)
@if($site->ssl_enabled || $site->ssl_status === 'issued')
<span class="inline-flex items-center gap-1.5 rounded-full bg-emerald-100 px-2.5 py-1 text-xs font-medium text-emerald-800">
<svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"/></svg>
SSL Active
</span>
@elseif($site->ssl_status === 'provisioning')
<div>
<span class="inline-flex items-center gap-1.5 rounded-full bg-amber-100 px-2.5 py-1 text-xs font-medium text-amber-800">
Provisioning…
</span>
<p class="mt-1 text-xs text-slate-500">Waiting for DNS / Let's Encrypt</p>
</div>
@elseif($site->ssl_status === 'failed')
<div>
<span class="inline-flex items-center gap-1.5 rounded-full bg-red-100 px-2.5 py-1 text-xs font-medium text-red-800">
SSL Failed
</span>
@if($site->ssl_error)
<p class="mt-1 max-w-xs text-xs text-slate-500 truncate" title="{{ $site->ssl_error }}">{{ \Illuminate\Support\Str::limit($site->ssl_error, 80) }}</p>
@endif
</div>
@else
<span class="inline-flex items-center gap-1.5 rounded-full bg-slate-100 px-2.5 py-1 text-xs font-medium text-slate-600">
<svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"/></svg>
@@ -52,16 +68,16 @@
@endif
</td>
<td class="px-6 py-4 whitespace-nowrap text-right">
@if(!$site->ssl_enabled)
@if($site->ssl_enabled || $site->ssl_status === 'issued')
<span class="text-xs text-slate-500">Auto-renews</span>
@else
<form action="{{ route('hosting.panel.ssl.request', [$account, $site]) }}" method="POST" class="inline">
@csrf
<button type="submit" class="btn-primary btn-primary-sm">
<svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M16.5 10.5V6.75a4.5 4.5 0 10-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 002.25-2.25v-6.75a2.25 2.25 0 00-2.25-2.25H6.75a2.25 2.25 0 00-2.25 2.25v6.75a2.25 2.25 0 002.25 2.25z"/></svg>
Issue SSL
{{ $site->ssl_status === 'failed' ? 'Retry SSL' : 'Issue SSL' }}
</button>
</form>
@else
<span class="text-xs text-slate-500">Auto-renews</span>
@endif
</td>
</tr>