runningInConsole() && empty(config('app.key'))) { $config->set('app.key', ''); } Relation::enforceMorphMap([ 'allocation' => Allocation::class, 'api_key' => ApiKey::class, 'backup' => Backup::class, 'database' => Database::class, 'egg' => Egg::class, 'egg_variable' => EggVariable::class, 'schedule' => Schedule::class, 'server' => Server::class, 'ssh_key' => UserSSHKey::class, 'task' => Task::class, 'user' => User::class, 'node' => Node::class, ]); Http::macro( 'daemon', fn (Node $node, array $headers = []) => Http::acceptJson() ->asJson() ->withToken($node->daemon_token) ->withHeaders($headers) ->withOptions(['verify' => (bool) $app->environment('production')]) ->timeout(config('panel.guzzle.timeout')) ->connectTimeout(config('panel.guzzle.connect_timeout')) ->baseUrl($node->getConnectionAddress()) ); Sanctum::usePersonalAccessTokenModel(ApiKey::class); Gate::define('viewApiDocs', fn () => true); $bearerTokens = fn (OpenApi $openApi) => $openApi->secure(SecurityScheme::http('bearer')); Scramble::registerApi('application', ['api_path' => 'api/application', 'info' => ['version' => '1.0']])->afterOpenApiGenerated($bearerTokens); Scramble::registerApi('client', ['api_path' => 'api/client', 'info' => ['version' => '1.0']])->afterOpenApiGenerated($bearerTokens); // Don't run any health checks during tests if (!$app->runningUnitTests()) { Health::checks([ DebugModeCheck::new()->if($app->isProduction()), EnvironmentCheck::new(), CacheCheck::new(), DatabaseCheck::new(), ScheduleCheck::new(), UsedDiskSpaceCheck::new(), PanelVersionCheck::new(), NodeVersionsCheck::new(), ]); } Gate::before(function (User $user, $ability) { return $user->isRootAdmin() ? true : null; }); AboutCommand::add('Pelican', [ 'Panel Version' => $versionService->currentPanelVersion(), 'Latest Version' => $versionService->latestPanelVersion(), 'Up-to-Date' => $versionService->isLatestPanel() ? 'Yes' : 'No', ]); AboutCommand::add('Drivers', 'Backups', config('backups.default')); AboutCommand::add('Environment', 'Installation Directory', base_path()); } /** * Register application service providers. */ public function register(): void { Scramble::ignoreDefaultRoutes(); } }