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
+17 -11
View File
@@ -141,12 +141,16 @@ class ProvisionHostingOrderJob implements ShouldQueue
]);
// Create hosting account record
$primaryDomain = \App\Services\Hosting\PlaceholderPrimaryDomainService::isPlaceholderDomain($this->order->domain_name)
? null
: $this->order->domain_name;
$account = HostingAccount::create([
'user_id' => $this->order->user_id,
'hosting_node_id' => $node->id,
'hosting_product_id' => $product->id,
'username' => $username,
'primary_domain' => $this->order->domain_name,
'primary_domain' => $primaryDomain,
'type' => HostingAccount::TYPE_SHARED,
'status' => HostingAccount::STATUS_ACTIVE,
'home_directory' => $result['home_directory'] ?? "/home/{$username}",
@@ -178,16 +182,18 @@ class ProvisionHostingOrderJob implements ShouldQueue
], $resourceLimits),
]);
HostedSite::create([
'hosting_account_id' => $account->id,
'domain_id' => $this->order->domain_id,
'domain' => $this->order->domain_name,
'document_root' => ($result['document_root'] ?? "/home/{$username}/public_html"),
'type' => 'primary',
'status' => 'active',
'php_version' => '8.4',
'ssl_enabled' => false,
]);
if ($primaryDomain) {
HostedSite::create([
'hosting_account_id' => $account->id,
'domain_id' => $this->order->domain_id,
'domain' => $primaryDomain,
'document_root' => ($result['document_root'] ?? "/home/{$username}/public_html"),
'type' => 'primary',
'status' => 'active',
'php_version' => '8.4',
'ssl_enabled' => false,
]);
}
$sharedProvider->applyAccountResourceProfile($account, false);
+7
View File
@@ -76,6 +76,13 @@ class ProvisionHostingSslJob implements ShouldQueue
'ssl_expires_at' => now()->addDays(90),
]);
if ($site->domain_id) {
\App\Models\Domain::query()->whereKey($site->domain_id)->update([
'ssl_status' => 'active',
'ssl_expires_at' => $site->ssl_expires_at,
]);
}
Log::info('ProvisionHostingSslJob: SSL provisioned successfully', [
'site_id' => $this->siteId,
'domain' => $site->domain,