poolRoot(); if (! $primary->isPrimary() || ! $this->ssh->canConnect($primary)) { return; } $clientIps = $this->pool->poolMembers($primary) ->filter(fn (EmailServer $m) => $m->isExtension()) ->pluck('ip_address') ->filter() ->unique() ->values() ->all(); if ($clientIps === []) { return; } $script = resource_path('infrastructure/scripts/nfs-refresh-exports.sh'); $replacements = [ '__VMAIL_ROOT__' => rtrim((string) ($primary->pool_vmail_root ?: config('infrastructure.mail_stack.vmail_root', '/var/vmail')), '/'), '__NEW_CLIENTS__' => implode(' ', $clientIps), ]; try { $this->ssh->uploadAndRunScript( $primary, '/tmp/ladill-nfs-refresh-exports.sh', $script, $replacements, ); } catch (\Throwable $e) { Log::warning('Failed to refresh NFS exports on primary mail server', [ 'primary_id' => $primary->id, 'error' => $e->getMessage(), ]); } } }