Merge pull request #1108 from coollabsio/next

v4.0.0-beta.14
This commit is contained in:
Andras Bacsai 2023-06-23 14:38:00 +02:00 committed by GitHub
commit f7ed98d6b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 92 additions and 68 deletions

View File

@ -21,7 +21,7 @@ class Form extends Component
'server.port' => 'required',
'server.settings.is_reachable' => 'required',
'server.settings.is_part_of_swarm' => 'required',
'wildcard_domain' => 'nullable|string'
'wildcard_domain' => 'nullable|url',
];
protected $validationAttributes = [
'server.name' => 'name',

View File

@ -23,13 +23,11 @@ class Configuration extends Component
'settings.fqdn' => 'nullable',
'settings.public_port_min' => 'required',
'settings.public_port_max' => 'required',
'settings.default_redirect_404' => 'nullable',
];
protected $validationAttributes = [
'settings.fqdn' => 'FQDN',
'settings.public_port_min' => 'Public port min',
'settings.public_port_max' => 'Public port max',
'settings.default_redirect_404' => 'Default redirect 404',
];
public function mount()
{
@ -139,8 +137,7 @@ public function submit()
$this->server = Server::findOrFail(0);
$this->setup_instance_fqdn();
setup_default_redirect_404(redirect_url: $this->settings->default_redirect_404, server: $this->server);
if ($this->settings->fqdn || $this->settings->default_redirect_404) {
if ($this->settings->fqdn) {
dispatch(new InstanceProxyCheckJob());
}
$this->emit('success', 'Instance settings updated successfully!');

View File

@ -24,7 +24,7 @@ class DeployedWithErrorNotification extends Notification implements ShouldQueue
public string|null $deployment_url = null;
public string $project_uuid;
public string $environment_name;
public string $fqdn;
public string|null $fqdn;
public function __construct(Application $application, string $deployment_uuid, ApplicationPreview|null $preview)
{

View File

@ -1,3 +1,3 @@
<?php
return '4.0.0-beta.13';
return '4.0.0-beta.14';

View File

@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('instance_settings', function (Blueprint $table) {
$table->dropColumn('default_redirect_404');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('instance_settings', function (Blueprint $table) {
$table->string('default_redirect_404')->nullable();
});
}
};

View File

@ -1 +1,6 @@
<span {{ $attributes->class(['bg-warning loading', 'loading-spinner' => !$attributes->has('class')]) }}></span>
@props(['text' => null])
<span class="flex items-center gap-4 text-white">
{{ $text }}<span
{{ $attributes->class(['bg-warning loading', 'loading-spinner' => !$attributes->has('class')]) }}>
</span>
</span>

View File

@ -16,9 +16,8 @@
<div class="flex flex-col w-full gap-2 lg:flex-row">
<x-forms.input id="server.name" label="Name" required />
<x-forms.input id="server.description" label="Description" />
<x-forms.input id="wildcard_domain" label="Wildcard Domain"
<x-forms.input placeholder="https://example.com" id="wildcard_domain" label="Wildcard Domain"
helper="Wildcard domain for your applications. If you set this, you will get a random generated domain for your new applications.<br><span class='font-bold text-white'>Example</span>In case you set:<span class='text-helper'>https://example.com</span>your applications will get: <span class='text-helper'>https://randomId.example.com</span>" />
{{-- <x-forms.checkbox disabled type="checkbox" id="server.settings.is_part_of_swarm"
label="Is it part of a Swarm cluster?" /> --}}
</div>

View File

@ -4,67 +4,64 @@
@if ($server->settings->is_reachable)
@if ($server->proxy->type)
<div x-init="$wire.checkProxySettingsInSync">
<div wire:loading wire:target="checkProxySettingsInSync">
<x-loading />
</div>
<div wire:loading.remove>
@if ($proxy_settings)
@if ($selectedProxy->value === 'TRAEFIK_V2')
<form wire:submit.prevent='saveConfiguration'>
<div class="flex items-center gap-2">
<h2>Proxy</h2>
<x-forms.button type="submit">Save</x-forms.button>
@if ($server->proxy->status === 'exited')
<x-forms.button wire:click.prevent="switchProxy">Switch Proxy</x-forms.button>
@endif
<livewire:server.proxy.status :server="$server" />
</div>
<div class="pt-3 pb-4 ">Traefik v2</div>
@if (
$server->proxy->last_applied_settings &&
$server->proxy->last_saved_settings !== $server->proxy->last_applied_settings)
<div class="text-red-500 ">Configuration out of sync. Restart to get the new
configs.
</div>
@endif
@if ($server->id !== 0)
<x-forms.input id="redirect_url" label="Default redirect"
placeholder="https://coolify.io" />
@endif
<div class="container w-full mx-auto">
<livewire:activity-monitor :header="true" />
</div>
<div class="flex flex-col gap-2">
@if ($selectedProxy->value === 'TRAEFIK_V2')
<form wire:submit.prevent='saveConfiguration'>
<div class="flex items-center gap-2">
<h2>Proxy</h2>
<x-forms.button type="submit">Save</x-forms.button>
@if ($server->proxy->status === 'exited')
<x-forms.button wire:click.prevent="switchProxy">Switch Proxy</x-forms.button>
@endif
<livewire:server.proxy.status :server="$server" />
</div>
<div class="pt-3 pb-4 ">Traefik v2</div>
@if (
$server->proxy->last_applied_settings &&
$server->proxy->last_saved_settings !== $server->proxy->last_applied_settings)
<div class="text-red-500 ">Configuration out of sync. Restart to get the new
configs.
</div>
@endif
<x-forms.input placeholder="https://coolify.io" id="redirect_url" label="Default Redirect 404"
helper="All urls that has no service available will be redirected to this domain.<span class='text-helper'>You can set to your main marketing page or your social media link.</span>" />
<div class="container w-full mx-auto">
<livewire:activity-monitor :header="true" />
</div>
<div wire:loading wire:target="checkProxySettingsInSync" class="pt-4">
<x-loading text="Loading proxy configuration..." />
</div>
<div wire:loading.remove wire:target="checkProxySettingsInSync">
@if ($proxy_settings)
<div class="flex flex-col gap-2 pt-2">
<x-forms.textarea label="Configuration file: traefik.conf" class="text-xs" noDirty
name="proxy_settings" wire:model.defer="proxy_settings" rows="30" />
<x-forms.button wire:click.prevent="resetProxy">
Reset configuration to default
</x-forms.button>
</div>
</form>
@endif
@else
<div class="">Server is not validated. Validate first.</div>
@endif
@endif
</div>
</form>
@endif
@else
<div>
<h2>Proxy</h2>
<div class="pt-2 pb-10 ">Select a proxy you would like to use on this server.</div>
<div class="flex gap-2">
<x-forms.button class="w-32 box"
wire:click="setProxy('{{ \App\Enums\ProxyTypes::TRAEFIK_V2 }}')">
Traefik
v2
</x-forms.button>
<x-forms.button disabled class="w-32 box">
Nginx
</x-forms.button>
<x-forms.button disabled class="w-32 box">
Caddy
</x-forms.button>
</div>
</div>
</div>
@else
<div>
<h2>Proxy</h2>
<div class="pt-2 pb-10 ">Select a proxy you would like to use on this server.</div>
<div class="flex gap-2">
<x-forms.button class="w-32 box" wire:click="setProxy('{{ \App\Enums\ProxyTypes::TRAEFIK_V2 }}')">
Traefik
v2
</x-forms.button>
<x-forms.button disabled class="w-32 box">
Nginx
</x-forms.button>
<x-forms.button disabled class="w-32 box">
Caddy
</x-forms.button>
</div>
</div>
@endif
@else
<div class="">Server is not validated. Validate first.</div>

View File

@ -9,8 +9,6 @@
<div class="flex flex-col gap-2">
<div class="flex gap-2">
<x-forms.input id="settings.fqdn" label="Coolify's Domain" />
<x-forms.input id="settings.default_redirect_404" label="Default Redirect 404"
helper="All urls that has no service available will be redirected to this domain.<span class='text-helper'>You can set to your main marketing page or your social media link.</span>" />
</div>
{{-- <div class="flex gap-2 ">
<x-forms.input type="number" id="settings.public_port_min" label="Public Port Min" />

View File

@ -1,5 +1,5 @@
#!/bin/bash
## Do not modify this file. You will lost the ability to installation and autoupdate!
## Do not modify this file. You will lose the ability to install and auto-update!
###########
## Always run "php artisan app:sync-to-bunny-cdn --env=secrets" or "scripts/run sync-bunny" if you update this file.

View File

@ -4,7 +4,7 @@
"version": "3.12.32"
},
"v4": {
"version": "4.0.0-beta.13"
"version": "4.0.0-beta.14"
}
}
}