113 lines
5.4 KiB
PHP
113 lines
5.4 KiB
PHP
<div>
|
|
<h2>Resource Operations</h2>
|
|
<div>You can easily make different kind of operations on this resource.</div>
|
|
{{--
|
|
<div class="mt-8">
|
|
<h3 class="text-lg font-bold mb-2">Clone Volume Data</h3>
|
|
<div class="text-sm text-gray-600 dark:text-gray-300 mb-4">
|
|
Clone your volume data to the new resources volumes. This process requires a brief container downtime to ensure data consistency.
|
|
</div>
|
|
<div class="pb-4">
|
|
@if(!$cloneVolumeData)
|
|
<div wire:key="volume-disabled">
|
|
<x-modal-confirmation
|
|
title="Enable Volume Data Cloning?"
|
|
buttonTitle="Enable Volume Cloning"
|
|
submitAction="toggleVolumeCloning(true)"
|
|
:actions="['This will temporarily stop all the containers to copy the volume data to the new resources to ensure data consistency.', 'The process runs in the background and may take a few minutes.']"
|
|
:confirmWithPassword="false"
|
|
:confirmWithText="false"
|
|
/>
|
|
</div>
|
|
@else
|
|
<div wire:key="volume-enabled" class="max-w-md">
|
|
<x-forms.checkbox
|
|
label="Clone Volume Data"
|
|
id="cloneVolumeData"
|
|
wire:model="cloneVolumeData"
|
|
wire:change="toggleVolumeCloning(false)"
|
|
:checked="$cloneVolumeData"
|
|
helper="Volume Data will be cloned to the new resources. Containers will be temporarily stopped during the cloning process." />
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div> --}}
|
|
|
|
<h3>Clone</h3>
|
|
<div class="pb-4">To another project / environment on a different / same server.</div>
|
|
<div class="pb-4">
|
|
<div class="flex flex-col flex-wrap gap-2">
|
|
@foreach ($servers->sortBy('id') as $server)
|
|
<h5>Server: <span class="font-bold text-dark dark:text-white">{{ $server->name }}</span></h5>
|
|
@foreach ($server->destinations() as $destination)
|
|
<x-modal-confirmation
|
|
title="Clone Resource?"
|
|
buttonTitle="Clone Resource"
|
|
submitAction="cloneTo({{ data_get($destination, 'id') }})"
|
|
:actions="[
|
|
'All containers of this resource will be duplicated and cloned to the selected destination.'
|
|
]"
|
|
:confirmWithText="false"
|
|
:confirmWithPassword="false"
|
|
step2ButtonText="Clone Resource"
|
|
dispatchEvent="true"
|
|
dispatchEventType="success"
|
|
dispatchEventMessage="Resource cloned to {{ $destination->name }} destination."
|
|
>
|
|
<x:slot name="content">
|
|
<div class="box group">
|
|
<div class="flex flex-col">
|
|
<div class="box-title">Network</div>
|
|
<div class="box-description">{{ $destination->name }}</div>
|
|
</div>
|
|
</div>
|
|
</x:slot>
|
|
</x-modal-confirmation>
|
|
@endforeach
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
<h3>Move</h3>
|
|
<div class="pb-4">Between projects / environments.</div>
|
|
<div>
|
|
<div class="pb-2">
|
|
This resource is currently in the <span
|
|
class="font-bold dark:text-warning">{{ $resource->environment->project->name }} /
|
|
{{ $resource->environment->name }}</span> environment.
|
|
</div>
|
|
<div class="flex flex-col flex-wrap gap-2">
|
|
@forelse ($projects as $project)
|
|
<h5>Project: <span class="font-bold text-dark dark:text-white">{{ $project->name }}</span></h5>
|
|
|
|
@foreach ($project->environments as $environment)
|
|
<x-modal-confirmation
|
|
title="Move Resource?"
|
|
buttonTitle="Move Resource"
|
|
submitAction="moveTo({{ data_get($environment, 'id') }})"
|
|
:actions="[
|
|
'All containers of this resource will be moved to the selected environment.'
|
|
]"
|
|
:confirmWithText="false"
|
|
:confirmWithPassword="false"
|
|
step2ButtonText="Move Resource"
|
|
dispatchEvent="true"
|
|
dispatchEventType="success"
|
|
dispatchEventMessage="Resource moved to {{ $environment->name }} environment."
|
|
>
|
|
<x:slot:content>
|
|
<div class="box group">
|
|
<div class="flex flex-col">
|
|
<div class="box-title">Environment</div>
|
|
<div class="box-description">{{ $environment->name }}</div>
|
|
</div>
|
|
</div>
|
|
</x:slot>
|
|
</x-modal-confirmation>
|
|
@endforeach
|
|
@empty
|
|
<div>No projects found to move to</div>
|
|
@endforelse
|
|
</div>
|
|
</div>
|
|
</div>
|