100 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <div>
 | |
|     <h2>Servers</h2>
 | |
|     <div class="">Server related configurations.</div>
 | |
|     <div class="grid grid-cols-1 gap-4 py-4">
 | |
|         <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">
 | |
|                 @if (str($resource->realStatus())->startsWith('running'))
 | |
|                     <div title="{{ $resource->realStatus() }}" class="absolute bg-success -top-1 -left-1 badge ">
 | |
|                     </div>
 | |
|                 @elseif (str($resource->realStatus())->startsWith('exited'))
 | |
|                     <div title="{{ $resource->realStatus() }}" class="absolute bg-error -top-1 -left-1 badge ">
 | |
|                     </div>
 | |
|                 @endif
 | |
|                 <div class="box-title">
 | |
|                     Server: {{ data_get($resource, 'destination.server.name') }}
 | |
|                 </div>
 | |
|                 <div class="box-description">
 | |
|                     Network: {{ data_get($resource, 'destination.network') }}
 | |
|                 </div>
 | |
|             </div>
 | |
|             @if ($resource?->additional_networks?->count() > 0)
 | |
|                 <div class="flex gap-2">
 | |
|                     <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>
 | |
|             @endif
 | |
|         </div>
 | |
|         @if ($resource?->additional_networks?->count() > 0 && data_get($resource, 'build_pack') !== 'dockercompose')
 | |
|             <h3>Additional Server(s)</h3>
 | |
|             @foreach ($resource->additional_networks as $destination)
 | |
|                 <div class="flex flex-col gap-2">
 | |
|                     <div class="relative flex flex-col w-full box">
 | |
|                         @if (str(data_get($destination, 'pivot.status'))->startsWith('running'))
 | |
|                             <div title="{{ data_get($destination, 'pivot.status') }}"
 | |
|                                 class="absolute bg-success -top-1 -left-1 badge "></div>
 | |
|                         @elseif (str(data_get($destination, 'pivot.status'))->startsWith('exited'))
 | |
|                             <div title="{{ data_get($destination, 'pivot.status') }}"
 | |
|                                 class="absolute bg-error -top-1 -left-1 badge "></div>
 | |
|                         @endif
 | |
|                         <div>
 | |
|                             <div class="box-title">
 | |
|                                 Server: {{ data_get($destination, 'server.name') }}
 | |
|                             </div>
 | |
|                             <div class="box-description">
 | |
|                                 Network: {{ data_get($destination, 'network') }}
 | |
|                             </div>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <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>
 | |
|                 </div>
 | |
|             @endforeach
 | |
|         @endif
 | |
|     </div>
 | |
|     @if ($resource->getMorphClass() === 'App\Models\Application' && data_get($resource, 'build_pack') !== 'dockercompose')
 | |
|         @if (count($networks) > 0)
 | |
|             <h4>Choose another server</h4>
 | |
|             <div class="pb-4 description">(experimental) </div>
 | |
|             <div class="grid grid-cols-1 gap-4">
 | |
|                 @foreach ($networks as $network)
 | |
|                     <div wire:click="addServer('{{ $network->id }}','{{ data_get($network, 'server.id') }}')"
 | |
|                         class="relative flex flex-col cursor-default dark:text-white box w-96 group">
 | |
|                         <div>
 | |
|                             <div class="box-title">
 | |
|                                 Server: {{ data_get($network, 'server.name') }}
 | |
|                             </div>
 | |
|                             <div class="box-description">
 | |
|                                 Network: {{ data_get($network, 'name') }}
 | |
|                             </div>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                 @endforeach
 | |
|             </div>
 | |
|         @else
 | |
|             <div>No additional servers available to attach.</div>
 | |
|         @endif
 | |
|     @endif
 | |
| </div>
 | 
