2023-08-07 20:14:21 +00:00
|
|
|
<div>
|
2024-02-07 13:55:06 +00:00
|
|
|
<h2>Servers</h2>
|
2024-01-16 14:19:14 +00:00
|
|
|
<div class="">Server related configurations.</div>
|
2024-02-07 13:55:06 +00:00
|
|
|
<div class="grid grid-cols-1 gap-4 py-4">
|
2024-04-05 13:33:29 +00:00
|
|
|
<div class="flex flex-col gap-2">
|
|
|
|
<h3>Primary Server</h3>
|
|
|
|
<div
|
|
|
|
class="relative flex flex-col bg-white border cursor-default dark:text-white box-without-bg dark:bg-coolgray-100 w-96 dark:border-black">
|
2024-02-07 13:55:06 +00:00
|
|
|
@if (str($resource->realStatus())->startsWith('running'))
|
2024-03-19 14:37:16 +00:00
|
|
|
<div title="{{ $resource->realStatus() }}" class="absolute bg-success -top-1 -left-1 badge ">
|
2024-02-07 13:55:06 +00:00
|
|
|
</div>
|
|
|
|
@elseif (str($resource->realStatus())->startsWith('exited'))
|
2024-03-19 14:37:16 +00:00
|
|
|
<div title="{{ $resource->realStatus() }}" class="absolute bg-error -top-1 -left-1 badge ">
|
2024-02-07 13:55:06 +00:00
|
|
|
</div>
|
|
|
|
@endif
|
2024-04-05 13:33:29 +00:00
|
|
|
<div class="box-title">
|
2024-02-08 10:59:01 +00:00
|
|
|
Server: {{ data_get($resource, 'destination.server.name') }}
|
|
|
|
</div>
|
2024-04-05 13:33:29 +00:00
|
|
|
<div class="box-description">
|
2024-02-08 10:59:01 +00:00
|
|
|
Network: {{ data_get($resource, 'destination.network') }}
|
2024-02-07 13:55:06 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@if ($resource?->additional_networks?->count() > 0)
|
2024-04-05 13:42:31 +00:00
|
|
|
<div class="flex gap-2">
|
2024-04-05 13:33:29 +00:00
|
|
|
<x-forms.button
|
|
|
|
wire:click="redeploy('{{ data_get($resource, 'destination.id') }}','{{ data_get($resource, 'destination.server.id') }}')">Deploy</x-forms.button>
|
|
|
|
@if (str($resource->realStatus())->startsWith('running'))
|
|
|
|
<x-forms.button isError
|
|
|
|
wire:click="stop('{{ data_get($resource, 'destination.server.id') }}')">Stop</x-forms.button>
|
|
|
|
@endif
|
|
|
|
</div>
|
2024-02-07 13:55:06 +00:00
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
@if ($resource?->additional_networks?->count() > 0)
|
2024-04-05 13:33:29 +00:00
|
|
|
<h3>Additional Server(s)</h3>
|
2024-02-06 14:05:11 +00:00
|
|
|
@foreach ($resource->additional_networks as $destination)
|
2024-04-05 13:33:29 +00:00
|
|
|
<div class="flex flex-col gap-2">
|
|
|
|
<div class="relative flex flex-col w-full box">
|
2024-02-07 13:55:06 +00:00
|
|
|
@if (str(data_get($destination, 'pivot.status'))->startsWith('running'))
|
|
|
|
<div title="{{ data_get($destination, 'pivot.status') }}"
|
2024-03-19 14:37:16 +00:00
|
|
|
class="absolute bg-success -top-1 -left-1 badge "></div>
|
2024-02-07 13:55:06 +00:00
|
|
|
@elseif (str(data_get($destination, 'pivot.status'))->startsWith('exited'))
|
|
|
|
<div title="{{ data_get($destination, 'pivot.status') }}"
|
2024-03-19 14:37:16 +00:00
|
|
|
class="absolute bg-error -top-1 -left-1 badge "></div>
|
2024-02-07 13:55:06 +00:00
|
|
|
@endif
|
|
|
|
<div>
|
2024-04-05 13:33:29 +00:00
|
|
|
<div class="box-title">
|
|
|
|
Server: {{ data_get($destination, 'server.name') }}
|
|
|
|
</div>
|
|
|
|
<div class="box-description">
|
|
|
|
Network: {{ data_get($destination, 'network') }}
|
|
|
|
</div>
|
2024-02-07 13:55:06 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2024-04-05 13:33:29 +00:00
|
|
|
<div class="flex gap-2">
|
|
|
|
<x-forms.button
|
|
|
|
wire:click="redeploy('{{ data_get($destination, 'id') }}','{{ data_get($destination, 'server.id') }}')">Deploy</x-forms.button>
|
|
|
|
<x-forms.button
|
|
|
|
wire:click="promote('{{ data_get($destination, 'id') }}','{{ data_get($destination, 'server.id') }}')">Promote
|
|
|
|
to Primary </x-forms.button>
|
|
|
|
@if (data_get_str($destination, 'pivot.status')->startsWith('running'))
|
|
|
|
<x-forms.button isError
|
|
|
|
wire:click="stop('{{ data_get($destination, 'server.id') }}')">Stop</x-forms.button>
|
|
|
|
@endif
|
|
|
|
<x-modal-confirmation
|
|
|
|
action="removeServer({{ data_get($destination, 'id') }},{{ data_get($destination, 'server.id') }})"
|
|
|
|
isErrorButton buttonTitle="Remove Server">
|
|
|
|
This will stop the running application in this server and remove it as a deployment
|
|
|
|
destination.<br><br>Please think again.
|
|
|
|
</x-modal-confirmation>
|
|
|
|
</div>
|
2024-02-06 14:05:11 +00:00
|
|
|
</div>
|
|
|
|
@endforeach
|
|
|
|
@endif
|
2023-08-07 20:14:21 +00:00
|
|
|
</div>
|
2024-02-12 10:46:36 +00:00
|
|
|
@if ($resource->getMorphClass() === 'App\Models\Application')
|
2024-02-07 13:55:06 +00:00
|
|
|
@if (count($networks) > 0)
|
2024-02-08 10:50:40 +00:00
|
|
|
<h4>Choose another server</h4>
|
|
|
|
<div class="pb-4 description">(experimental) </div>
|
2024-02-12 10:46:36 +00:00
|
|
|
<div class="grid grid-cols-1 gap-4">
|
2024-02-07 13:55:06 +00:00
|
|
|
@foreach ($networks as $network)
|
|
|
|
<div wire:click="addServer('{{ $network->id }}','{{ data_get($network, 'server.id') }}')"
|
2024-03-25 09:41:44 +00:00
|
|
|
class="relative flex flex-col cursor-default dark:text-white box w-96">
|
2024-02-12 10:46:36 +00:00
|
|
|
<div>
|
2024-04-05 13:33:29 +00:00
|
|
|
<div class="box-title">
|
|
|
|
Server: {{ data_get($network, 'server.name') }}
|
|
|
|
</div>
|
|
|
|
<div class="box-description">
|
|
|
|
Network: {{ data_get($network, 'name') }}
|
|
|
|
</div>
|
2024-02-12 10:46:36 +00:00
|
|
|
</div>
|
2024-02-07 13:55:06 +00:00
|
|
|
</div>
|
|
|
|
@endforeach
|
|
|
|
</div>
|
|
|
|
@else
|
2024-03-21 11:44:32 +00:00
|
|
|
<div>No additional servers available to attach.</div>
|
2024-02-07 13:55:06 +00:00
|
|
|
@endif
|
2024-02-12 10:46:36 +00:00
|
|
|
@endif
|
2023-08-07 20:14:21 +00:00
|
|
|
</div>
|