2023-11-21 14:31:46 +00:00
|
|
|
<div>
|
2024-06-07 09:01:10 +00:00
|
|
|
<x-slot:title>
|
2026-06-20 00:23:12 +00:00
|
|
|
{{ data_get_str($application, 'name')->limit(10) }} > Configuration | MapleDeploy
|
2024-06-07 09:01:10 +00:00
|
|
|
</x-slot>
|
2023-06-02 10:34:45 +00:00
|
|
|
<h1>Configuration</h1>
|
2024-04-12 10:44:49 +00:00
|
|
|
<livewire:project.shared.configuration-checker :resource="$application" />
|
2023-08-11 18:19:42 +00:00
|
|
|
<livewire:project.application.heading :application="$application" />
|
2024-12-16 13:11:45 +00:00
|
|
|
|
2026-06-05 12:57:57 +00:00
|
|
|
@php
|
|
|
|
|
$applicationRouteParameters = [
|
|
|
|
|
'project_uuid' => $project->uuid,
|
|
|
|
|
'environment_uuid' => $environment->uuid,
|
|
|
|
|
'application_uuid' => $application->uuid,
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
$configurationMenuItems = [
|
|
|
|
|
[
|
|
|
|
|
'label' => 'General',
|
|
|
|
|
'route' => 'project.application.configuration',
|
|
|
|
|
'active' => $currentRoute === 'project.application.configuration',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Advanced',
|
|
|
|
|
'route' => 'project.application.advanced',
|
|
|
|
|
'active' => $currentRoute === 'project.application.advanced',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Swarm',
|
|
|
|
|
'route' => 'project.application.swarm',
|
|
|
|
|
'active' => $currentRoute === 'project.application.swarm',
|
|
|
|
|
'visible' => $application->destination->server->isSwarm(),
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Environment Variables',
|
|
|
|
|
'route' => 'project.application.environment-variables',
|
|
|
|
|
'active' => $currentRoute === 'project.application.environment-variables',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Persistent Storage',
|
|
|
|
|
'route' => 'project.application.persistent-storage',
|
|
|
|
|
'active' => $currentRoute === 'project.application.persistent-storage',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Git Source',
|
|
|
|
|
'route' => 'project.application.source',
|
|
|
|
|
'active' => $currentRoute === 'project.application.source',
|
|
|
|
|
'visible' => $application->git_based(),
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Servers',
|
|
|
|
|
'route' => 'project.application.servers',
|
|
|
|
|
'active' => $currentRoute === 'project.application.servers',
|
|
|
|
|
'badge' => true,
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Scheduled Tasks',
|
|
|
|
|
'route' => 'project.application.scheduled-tasks.show',
|
|
|
|
|
'active' => str($currentRoute)->startsWith('project.application.scheduled-tasks'),
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Webhooks',
|
|
|
|
|
'route' => 'project.application.webhooks',
|
|
|
|
|
'active' => $currentRoute === 'project.application.webhooks',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Preview Deployments',
|
|
|
|
|
'route' => 'project.application.preview-deployments',
|
|
|
|
|
'active' => $currentRoute === 'project.application.preview-deployments',
|
|
|
|
|
'visible' => $application->git_based() || $application->build_pack === 'dockerimage',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Healthcheck',
|
|
|
|
|
'route' => 'project.application.healthcheck',
|
|
|
|
|
'active' => $currentRoute === 'project.application.healthcheck',
|
|
|
|
|
'visible' => $application->build_pack !== 'dockercompose',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Rollback',
|
|
|
|
|
'route' => 'project.application.rollback',
|
|
|
|
|
'active' => $currentRoute === 'project.application.rollback',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Resource Limits',
|
|
|
|
|
'route' => 'project.application.resource-limits',
|
|
|
|
|
'active' => $currentRoute === 'project.application.resource-limits',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Resource Operations',
|
|
|
|
|
'route' => 'project.application.resource-operations',
|
|
|
|
|
'active' => $currentRoute === 'project.application.resource-operations',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Metrics',
|
|
|
|
|
'route' => 'project.application.metrics',
|
|
|
|
|
'active' => $currentRoute === 'project.application.metrics',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Tags',
|
|
|
|
|
'route' => 'project.application.tags',
|
|
|
|
|
'active' => $currentRoute === 'project.application.tags',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'label' => 'Danger Zone',
|
|
|
|
|
'route' => 'project.application.danger',
|
|
|
|
|
'active' => $currentRoute === 'project.application.danger',
|
|
|
|
|
],
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
$configurationMenuItems = array_values(array_filter(
|
|
|
|
|
$configurationMenuItems,
|
|
|
|
|
fn (array $item): bool => $item['visible'] ?? true,
|
|
|
|
|
));
|
|
|
|
|
@endphp
|
|
|
|
|
|
2026-07-08 07:42:52 +00:00
|
|
|
<div class="flex flex-col h-full gap-2 md:gap-8 md:flex-row">
|
2026-06-05 12:57:57 +00:00
|
|
|
<div class="sub-menu-wrapper hidden md:flex">
|
|
|
|
|
@foreach ($configurationMenuItems as $menuItem)
|
|
|
|
|
<a @class([
|
|
|
|
|
'sub-menu-item',
|
|
|
|
|
'flex items-center gap-2' => $menuItem['badge'] ?? false,
|
|
|
|
|
'menu-item-active' => $menuItem['active'],
|
|
|
|
|
]) {{ wireNavigate() }} href="{{ route($menuItem['route'], $applicationRouteParameters) }}">
|
|
|
|
|
<span class="menu-item-label">{{ $menuItem['label'] }}</span>
|
|
|
|
|
@if ($menuItem['badge'] ?? false)
|
|
|
|
|
<livewire:project.application.server-status-badge :application="$application" />
|
|
|
|
|
@endif
|
2026-04-17 21:28:54 +00:00
|
|
|
</a>
|
2026-06-05 12:57:57 +00:00
|
|
|
@endforeach
|
2023-04-19 10:42:15 +00:00
|
|
|
</div>
|
2026-06-05 12:57:57 +00:00
|
|
|
<div class="w-full md:flex-grow">
|
2025-01-06 13:05:20 +00:00
|
|
|
@if ($currentRoute === 'project.application.configuration')
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.application.general :application="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.swarm' && $application->destination->server->isSwarm())
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.application.swarm :application="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.advanced')
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.application.advanced :application="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.environment-variables')
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.shared.environment-variable.all :resource="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.persistent-storage')
|
2024-12-16 13:11:45 +00:00
|
|
|
<livewire:project.service.storage :resource="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.source' && $application->git_based())
|
2024-12-16 13:11:45 +00:00
|
|
|
<livewire:project.application.source :application="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.servers')
|
2024-12-17 11:10:55 +00:00
|
|
|
<livewire:project.shared.destination :resource="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.scheduled-tasks.show')
|
2024-12-16 13:11:45 +00:00
|
|
|
<livewire:project.shared.scheduled-task.all :resource="$application" />
|
2026-03-29 09:57:40 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.scheduled-tasks')
|
|
|
|
|
<livewire:project.shared.scheduled-task.show />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.webhooks')
|
2024-12-16 13:11:45 +00:00
|
|
|
<livewire:project.shared.webhooks :resource="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.preview-deployments')
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.application.previews :application="$application" />
|
2025-03-17 10:28:43 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.healthcheck' && $application->build_pack !== 'dockercompose')
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.shared.health-checks :resource="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.rollback')
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.application.rollback :application="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.resource-limits')
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.shared.resource-limits :resource="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.resource-operations')
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.shared.resource-operations :resource="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.metrics')
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.shared.metrics :resource="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.tags')
|
2024-12-16 13:11:45 +00:00
|
|
|
<livewire:project.shared.tags :resource="$application" />
|
2025-01-06 13:05:20 +00:00
|
|
|
@elseif ($currentRoute === 'project.application.danger')
|
2024-07-12 11:40:11 +00:00
|
|
|
<livewire:project.shared.danger :resource="$application" />
|
2024-12-16 13:11:45 +00:00
|
|
|
@endif
|
2023-04-19 10:42:15 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-11-21 14:31:46 +00:00
|
|
|
</div>
|