coolify/resources/views/livewire/project/application/heading.blade.php

127 lines
7.7 KiB
PHP
Raw Normal View History

<nav wire:poll.10000ms="check_status">
<x-resources.breadcrumbs :resource="$application" :parameters="$parameters" :title="$lastDeploymentInfo" :lastDeploymentLink="$lastDeploymentLink" />
<div class="navbar-main">
<nav class="flex flex-shrink-0 gap-6 items-center whitespace-nowrap scrollbar min-h-10">
2024-12-17 10:13:13 +00:00
<a class="{{ request()->routeIs('project.application.configuration') ? 'dark:text-white' : '' }}"
href="{{ route('project.application.configuration', $parameters) }}">
Configuration
2024-03-24 15:00:25 +00:00
</a>
2024-12-17 10:13:13 +00:00
<a class="{{ request()->routeIs('project.application.deployment.index') ? 'dark:text-white' : '' }}"
href="{{ route('project.application.deployment.index', $parameters) }}">
<button>Deployments</button>
</a>
2024-12-17 10:13:13 +00:00
<a class="{{ request()->routeIs('project.application.logs') ? 'dark:text-white' : '' }}"
href="{{ route('project.application.logs', $parameters) }}">
<button>Logs</button>
</a>
@if (!$application->destination->server->isSwarm())
2024-12-17 10:13:13 +00:00
<a class="{{ request()->routeIs('project.application.command') ? 'dark:text-white' : '' }}"
href="{{ route('project.application.command', $parameters) }}">
<button>Terminal</button>
</a>
@endif
<x-applications.links :application="$application" />
</nav>
<div class="flex flex-wrap gap-2 items-center">
@if ($application->build_pack === 'dockercompose' && is_null($application->docker_compose_raw))
<div>Please load a Compose file.</div>
@else
@if (!$application->destination->server->isSwarm())
<div>
<x-applications.advanced :application="$application" />
</div>
@endif
2024-05-06 11:58:19 +00:00
<div class="flex flex-wrap gap-2">
@if (!str($application->status)->startsWith('exited'))
@if (!$application->destination->server->isSwarm())
<x-forms.button title="With rolling update if possible" wire:click='deploy'>
<svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 dark:text-orange-400"
viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none"
stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path
d="M10.09 4.01l.496 -.495a2 2 0 0 1 2.828 0l7.071 7.07a2 2 0 0 1 0 2.83l-7.07 7.07a2 2 0 0 1 -2.83 0l-7.07 -7.07a2 2 0 0 1 0 -2.83l3.535 -3.535h-3.988">
</path>
<path d="M7.05 11.038v-3.988"></path>
2024-03-24 15:00:25 +00:00
</svg>
Redeploy
2024-03-24 15:00:25 +00:00
</x-forms.button>
@endif
@if ($application->build_pack !== 'dockercompose')
@if ($application->destination->server->isSwarm())
<x-forms.button title="Redeploy Swarm Service (rolling update)" wire:click='deploy'>
<svg class="w-5 h-5 dark:text-warning" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<g fill="none" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2">
<path
d="M19.933 13.041a8 8 0 1 1-9.925-8.788c3.899-1 7.935 1.007 9.425 4.747" />
<path d="M20 4v5h-5" />
</g>
</svg>
Update Service
</x-forms.button>
@else
<x-forms.button title="Restart without rebuilding" wire:click='restart'>
<svg class="w-5 h-5 dark:text-warning" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<g fill="none" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2">
<path
d="M19.933 13.041a8 8 0 1 1-9.925-8.788c3.899-1 7.935 1.007 9.425 4.747" />
<path d="M20 4v5h-5" />
</g>
</svg>
Restart
</x-forms.button>
@endif
@endif
2024-09-18 19:24:42 +00:00
<x-modal-confirmation title="Confirm Application Stopping?" buttonTitle="Stop"
submitAction="stop" :checkboxes="$checkboxes" :actions="[
'This application will be stopped.',
'All non-persistent data of this application will be deleted.',
]" :confirmWithText="false" :confirmWithPassword="false"
step1ButtonText="Continue" step2ButtonText="Confirm" :dispatchEvent="true"
dispatchEventType="stopEvent">
<x-slot:button-title>
<svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 text-error" viewBox="0 0 24 24"
stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path
d="M6 5m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z">
</path>
<path
d="M14 5m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z">
</path>
</svg>
Stop
</x-slot:button-title>
</x-modal-confirmation>
@else
<x-forms.button wire:click='deploy'>
<svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 dark:text-warning"
viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none"
stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M7 4v16l13 -8z" />
</svg>
Deploy
</x-forms.button>
@endif
</div>
@endif
</div>
</div>
@script
<script>
$wire.$on('stopEvent', () => {
v4.0.0-beta.416 (#5729) * feat(README): add InterviewPal sponsorship link and corresponding SVG icon * chore(versions): update coolify version to 4.0.0-beta.413 and nightly version to 4.0.0-beta.414 in configuration files * fix(terminal): enhance WebSocket client verification with authorized IPs in terminal server * chore(versions): update realtime version to 1.0.8 in versions.json * chore(versions): update realtime version to 1.0.8 in versions.json * chore(docker): update soketi image version to 1.0.8 in production configuration files * chore(versions): update coolify version to 4.0.0-beta.414 and nightly version to 4.0.0-beta.415 in configuration files * fix(ApplicationDeploymentJob): ensure source is an object before checking GitHub app properties * fix(ui): Disable livewire navigate feature (causing spam of setInterval()) * fix(ui): Remove required attribute from image input in service application view * fix(ui): Change application image validation to be nullable in service application view * fix(Server): Correct proxy path formatting for Traefik proxy type * chore(versions): update coolify version to 4.0.0-beta.416 and nightly version to 4.0.0-beta.417 in configuration files; fix links in deployment view * feat(Service): Add functionality to convert between applications and databases in docker-compose based applications fix(ui): Fix service layout refresh on compose change * fix(service): graceful shutdown of old container (#5731) * refactor(Database): streamline container shutdown process and reduce timeout duration * fix(ServerCheck): enhance proxy container check to ensure it is running before proceeding * chore(seeder): update git branch from 'main' to 'v4.x' for multiple examples in ApplicationSeeder * fix(applications): include pull_request_id in deployment queue check to prevent duplicate deployments * refactor(core): streamline container stopping process and reduce timeout duration; update related methods for consistency * fix(database): update label for image input field to improve clarity * feat(migration): add 'is_migrated' and 'custom_type' columns to service_applications and service_databases tables * feat(backup): implement custom database type selection and enhance scheduled backups management * fix(ServerCheck): set default proxy status to 'exited' to handle missing container state * fix(database): reduce container stop timeout from 300 to 30 seconds for improved responsiveness * refactor(database): update DB facade usage for consistency across service files * Update app/Livewire/Project/Service/Database.php Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * refactor(database): enhance application conversion logic and add existence checks for databases and applications * refactor(actions): standardize method naming for network and configuration deletion across application and service classes * refactor(logdrain): consolidate log drain stopping logic to reduce redundancy * refactor(StandaloneMariadb): add type hint for destination method to improve code clarity * refactor(DeleteResourceJob): streamline resource deletion logic and improve conditional checks for database types * refactor(jobs): update middleware to prevent job release after expiration for CleanupInstanceStuffsJob, RestartProxyJob, and ServerCheckJob * fix(ui): system theming for charts (#5740) * chore(deps-dev): bump vite from 6.2.6 to 6.3.4 (#5743) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.6 to 6.3.4. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.3.4 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(dev): mount points?! * fix(dev): proxy mount point * fix(ui): allow adding scheduled backups for non-migrated databases * fix(DatabaseBackupJob): escape PostgreSQL password in backup command (#5759) * fix(ui): correct closing div tag in service index view * Revert "fix(dev): mount points?!" This reverts commit 365bf3cbf0e5aa21a2ccb12fe6ec333b93e404da. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Jérémy <jeremy.derdaele@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Best Codes <106822363+The-Best-Codes@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: busybox <29630035+busybox11@users.noreply.github.com>
2025-05-05 07:04:09 +00:00
$wire.$dispatch('info',
'Gracefully stopping application, it could take a while depending on the application.');
$wire.$call('stop');
});
</script>
@endscript
2023-06-30 08:49:00 +00:00
</nav>