coolify/resources/views/livewire/project/new/select.blade.php

193 lines
10 KiB
PHP
Raw Normal View History

2023-09-25 15:48:43 +02:00
<div x-data x-init="$wire.loadThings">
<h1>New Resource</h1>
2023-08-07 19:25:32 +02:00
<div class="pb-4 ">Deploy resources, like Applications, Databases, Services...</div>
2023-08-11 22:41:47 +02:00
<div class="flex flex-col gap-2 pt-10">
@if ($current_step === 'type')
<ul class="pb-10 steps">
2023-09-22 12:08:51 +02:00
<li class="step step-secondary">Select Resource Type</li>
<li class="step">Select a Server</li>
<li class="step">Select a Destination</li>
</ul>
2023-08-11 22:41:47 +02:00
<h2>Applications</h2>
<div class="grid justify-start grid-cols-1 gap-2 text-left xl:grid-cols-3">
2023-09-05 12:14:31 +02:00
<div class="box group" wire:click="setType('public')">
<div class="flex flex-col mx-6">
2023-09-27 22:39:10 +02:00
<div class="font-bold text-white group-hover:text-white">
Public Repository
</div>
<div class="text-xs group-hover:text-white">
You can deploy any kind of public repositories from the supported git servers.
</div>
</div>
</div>
2023-09-05 12:14:31 +02:00
<div class="box group" wire:click="setType('private-gh-app')">
<div class="flex flex-col mx-6">
2023-09-27 22:39:10 +02:00
<div class="font-bold text-white group-hover:text-white">
Private Repository
</div>
<div class="text-xs group-hover:text-white">
You can deploy public & private repositories through your GitHub Apps.
</div>
</div>
</div>
2023-09-05 12:14:31 +02:00
<div class="box group" wire:click="setType('private-deploy-key')">
<div class="flex flex-col mx-6">
2023-09-27 22:39:10 +02:00
<div class="font-bold text-white group-hover:text-white">
Private Repository (with deploy key)
</div>
<div class="text-xs group-hover:text-white">
You can deploy public & private repositories with a simple deploy key.
</div>
</div>
</div>
</div>
2023-08-11 22:41:47 +02:00
<div class="grid justify-start grid-cols-1 gap-2 text-left xl:grid-cols-3">
2023-09-05 12:14:31 +02:00
<div class="box group" wire:click="setType('dockerfile')">
2023-08-11 22:41:47 +02:00
<div class="flex flex-col mx-6">
2023-09-27 22:39:10 +02:00
<div class="font-bold text-white group-hover:text-white">
2023-08-11 22:41:47 +02:00
Based on a Dockerfile
</div>
<div class="text-xs group-hover:text-white">
You can deploy a simple Dockerfile, without Git.
</div>
</div>
</div>
2023-09-25 15:48:43 +02:00
<div class="box group" wire:click="setType('docker-compose-empty')">
<div class="flex flex-col mx-6">
2023-09-27 22:39:10 +02:00
<div class="font-bold text-white group-hover:text-white">
2023-09-25 15:48:43 +02:00
Based on a Docker Compose
</div>
<div class="text-xs group-hover:text-white">
You can deploy complex application easily with Docker Compose.
2023-09-19 15:51:13 +02:00
</div>
</div>
2023-09-25 15:48:43 +02:00
</div>
2023-08-11 22:41:47 +02:00
</div>
<h2 class="py-4">Databases</h2>
2023-09-05 12:14:31 +02:00
<div class="grid justify-start grid-cols-1 gap-2 text-left xl:grid-cols-3">
<div class="box group" wire:click="setType('postgresql')">
2023-08-07 19:25:32 +02:00
<div class="flex flex-col mx-6">
2023-09-27 22:39:10 +02:00
<div class="font-bold text-white group-hover:text-white">
2023-09-05 12:14:31 +02:00
New PostgreSQL
2023-08-07 19:25:32 +02:00
</div>
<div class="text-xs group-hover:text-white">
The most loved relational database in the world.
</div>
2023-08-07 19:25:32 +02:00
</div>
</div>
2023-09-05 12:14:31 +02:00
{{-- <div class="box group" wire:click="setType('existing-postgresql')">
<div class="flex flex-col mx-6">
<div class="group-hover:text-white">
Backup Existing PostgreSQL
</div>
<div class="text-xs group-hover:text-white">
Schedule a backup of an existing PostgreSQL database.
</div>
</div>
</div> --}}
2023-08-07 19:25:32 +02:00
</div>
2023-09-25 15:48:43 +02:00
<div class="flex items-center gap-2">
<h2 class="py-4">Services</h2>
2023-09-27 21:51:06 +02:00
<x-forms.button wire:click='loadServices(true)'>Reload Services List</x-forms.button>
2023-09-25 15:48:43 +02:00
</div>
2023-09-11 13:52:54 +02:00
<div class="grid justify-start grid-cols-1 gap-2 text-left xl:grid-cols-3">
2023-09-25 15:48:43 +02:00
@if ($loadingServices)
<span class="loading loading-xs loading-spinner"></span>
@else
@foreach ($services as $serviceName => $service)
@if (data_get($service, 'disabled'))
<button class="text-left bg-black cursor-not-allowed bg-coolgray-200/20 box-without-bg"
disabled>
<div class="flex flex-col mx-6">
<div class="font-bold text-coolgray-500">
{{ Str::headline($serviceName) }}
</div>
You need to upgrade to {{ data_get($service, 'minVersion') }} to use this service.
2023-09-25 15:48:43 +02:00
</div>
</button>
@else
<button class="text-left box group" wire:loading.attr="disabled"
wire:click="setType('one-click-service-{{ $serviceName }}')">
<div class="flex flex-col mx-6">
<div class="font-bold text-white group-hover:text-white">
{{ Str::headline($serviceName) }}
2023-09-27 21:51:06 +02:00
</div>
@if (data_get($service, 'slogan'))
<div class="text-xs">
{{ data_get($service, 'slogan') }}
</div>
@endif
</div>
</button>
@endif
2023-09-25 15:48:43 +02:00
@endforeach
@endif
2023-09-11 13:52:54 +02:00
</div>
@endif
@if ($current_step === 'servers')
<ul class="pb-10 steps">
2023-09-22 12:08:51 +02:00
<li class="step step-secondary">Select Resource Type</li>
<li class="step step-secondary">Select a Server</li>
<li class="step">Select a Destination</li>
</ul>
2023-08-30 14:46:51 +02:00
<div class="flex flex-col justify-center gap-2 text-left xl:flex-row">
2023-08-21 10:18:11 +02:00
@forelse($servers as $server)
2023-09-05 12:14:31 +02:00
<div class="box group" wire:click="setServer({{ $server }})">
<div class="flex flex-col mx-6">
<div class="group-hover:text-white">
{{ $server->name }}
</div>
<div class="text-xs group-hover:text-white">
{{ $server->description }}</div>
</div>
</div>
2023-08-21 10:18:11 +02:00
@empty
<div>
2023-09-05 12:14:31 +02:00
<div>No validated & reachable servers found. <a class="text-white underline" href="/servers">
Go to servers page
</a></div>
2023-08-21 10:18:11 +02:00
<x-use-magic-bar link="/server/new" />
</div>
@endforelse
</div>
@endif
@if ($current_step === 'destinations')
<ul class="pb-10 steps">
2023-09-22 12:08:51 +02:00
<li class="step step-secondary">Select Resource Type</li>
<li class="step step-secondary">Select a Server</li>
<li class="step step-secondary">Select a Destination</li>
</ul>
2023-08-30 14:46:51 +02:00
<div class="flex flex-col justify-center gap-2 text-left xl:flex-row">
2023-08-30 11:26:46 +02:00
@foreach ($standaloneDockers as $standaloneDocker)
2023-09-05 12:14:31 +02:00
<div class="box group" wire:click="setDestination('{{ $standaloneDocker->uuid }}')">
<div class="flex flex-col mx-6">
2023-08-30 11:26:46 +02:00
<div class="font-bold group-hover:text-white">
2023-09-05 12:14:31 +02:00
Standalone Docker <span class="text-xs">({{ $standaloneDocker->name }})</span>
</div>
<div class="text-xs group-hover:text-white">
2023-08-30 11:26:46 +02:00
network: {{ $standaloneDocker->network }}</div>
</div>
</div>
@endforeach
2023-08-30 11:26:46 +02:00
@foreach ($swarmDockers as $swarmDocker)
2023-09-05 12:14:31 +02:00
<div class="box group" wire:click="setDestination('{{ $swarmDocker->uuid }}')">
<div class="flex flex-col mx-6">
<div class="font-bold group-hover:text-white">
Swarm Docker <span class="text-xs">({{ $swarmDocker->name }})</span>
</div>
2023-08-30 11:26:46 +02:00
</div>
</div>
2023-09-05 12:14:31 +02:00
@endforeach
</div>
@endif
2023-09-05 12:14:31 +02:00
@if ($current_step === 'existing-postgresql')
2023-09-11 13:52:54 +02:00
<form wire:submit.prevent='addExistingPostgresql' class="flex items-end gap-2">
<x-forms.input placeholder="postgres://username:password@database:5432" label="Database URL"
id="existingPostgresqlUrl" />
<x-forms.button type="submit">Add Database</x-forms.button>
</form>
2023-09-05 12:14:31 +02:00
@endif
</div>
</div>