instance($run); $node = (string) $run->context('node'); $vmid = (int) $run->context('vmid'); $fqdn = $instance->subdomain.'.'.config('provisioning.dns.zone'); if (! $instance->cert_ok || ! $this->traefik->certReachable($fqdn)) { return StepResult::fail('acceptance_failed:cert'); } $status = $this->pve->forHost($instance->host) ->guestExec($node, $vmid, 'curl -sf http://localhost/status.php'); if ((int) ($status['exitcode'] ?? 1) !== 0) { return StepResult::fail('acceptance_failed:nextcloud'); } if (! $this->hasResource($run, 'nc_admin')) { return StepResult::fail('acceptance_failed:admin'); } if (! $this->hasResource($run, 'backup_job_id')) { return StepResult::fail('acceptance_failed:backup'); } if (! $this->hasResource($run, 'monitoring_target_id')) { return StepResult::fail('acceptance_failed:monitoring'); } return StepResult::advance(); } }