mirror of
https://github.com/coollabsio/coolify.git
synced 2026-11-04 10:42:23 +00:00
fix(ui): open the unsaved bar for update channel and healthcheck type changes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
cf1e0e70c5
commit
7e7f491749
3 files changed
+23
-15
No files matched your search
@@ -17,6 +17,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
- Handle an existing Cloudflare DNS record with a different IP when Coolify adds the DNS record of a new domain automatically. Coolify now replaces the record when it created the record and no other resource uses it. Otherwise it opens the **Configure DNS** dialog, where you can replace the record, and the domain shows the conflict instead of "Not checked"
|
||||
- Add the Cloudflare DNS record automatically, or open the **Configure DNS** dialog, also when you edit a domain to a hostname in a connected Cloudflare zone, for example when you change a generated domain to your own domain. Before, Coolify did this only when you added a new domain. This applies to the **Domains** pages, the application and service application settings, and the service application API
|
||||
- Save deployments started through the MCP server as MCP deployments, not as API deployments. The deployment list shows them with the **MCP** source and filter, and the API and MCP deployment data have a new `is_mcp` field. The deployments to additional servers keep the source of the main deployment, and the audit log records actions that MCP tools do through the API as MCP events
|
||||
- Save the update channel in **Settings > Updates** when you select **Preview** or **Nightly**. Before, the "Save changes" bar did not open for these channels, so the change was lost when you refreshed the page
|
||||
- Save the healthcheck **Check type** when it is the only change. Before, the "Save changes" bar did not open when you changed only the check type, for example from **Container command** back to **HTTP request**
|
||||
|
||||
## [v4.6.0] - 2026-11-02
|
||||
|
||||
|
||||
@@ -40,12 +40,12 @@
|
||||
@endif
|
||||
|
||||
<div class="max-w-xs">
|
||||
<x-forms.listbox id="healthCheckType" label="Check type" required live :options="[
|
||||
<x-forms.listbox id="healthCheckType" label="Check type" required :options="[
|
||||
['value' => 'http', 'label' => 'HTTP request'],
|
||||
['value' => 'cmd', 'label' => 'Container command'],
|
||||
]" :disabled="! $canUpdate" />
|
||||
</div>
|
||||
@if ($healthCheckType === 'http')
|
||||
<div x-show="$wire.healthCheckType === 'http'" @if ($healthCheckType !== 'http') x-cloak @endif>
|
||||
<x-application.settings-subsection id="healthcheck-request-section" title="HTTP request"
|
||||
helper="Coolify sends this request from inside the container and evaluates the response.">
|
||||
<div class="grid gap-4 md:grid-cols-2 lg:grid-cols-4">
|
||||
@@ -77,7 +77,8 @@
|
||||
helper="Leave empty when the response body does not need to contain specific text." />
|
||||
</div>
|
||||
</x-application.settings-subsection>
|
||||
@else
|
||||
</div>
|
||||
<div x-show="$wire.healthCheckType !== 'http'" @if ($healthCheckType === 'http') x-cloak @endif>
|
||||
<x-application.settings-subsection id="healthcheck-command-section" title="Container command"
|
||||
helper="The command must exit with code 0 for the container to be considered healthy.">
|
||||
<x-callout type="warning" title="Shell operators are not supported">
|
||||
@@ -88,10 +89,10 @@
|
||||
<x-forms.input canGate="update" :canResource="$resource" id="healthCheckCommand"
|
||||
label="Command" placeholder="pg_isready -U postgres"
|
||||
helper="Use a single executable command without shell expansion."
|
||||
:required="$healthCheckType === 'cmd'" />
|
||||
required x-bind:required="$wire.healthCheckType === 'cmd'" />
|
||||
</div>
|
||||
</x-application.settings-subsection>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<x-application.settings-subsection id="healthcheck-timing-section" title="Timing and retries"
|
||||
helper="Control how quickly healthchecks start, repeat, and fail.">
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
</x-forms.button>
|
||||
</x-slot:actions>
|
||||
<div class="grid gap-4 lg:grid-cols-2">
|
||||
<x-forms.listbox id="update_channel" label="Channel" live :options="[
|
||||
{{-- Not live: a live update clears the dirty state, so the unsaved bar never opened for a channel change. --}}
|
||||
<x-forms.listbox id="update_channel" label="Channel" :options="[
|
||||
['value' => 'stable', 'label' => 'Stable', 'description' => 'Stable releases'],
|
||||
['value' => 'preview', 'label' => 'Preview', 'description' => 'Betas and release candidates, then the stable release'],
|
||||
['value' => 'nightly', 'label' => 'Nightly', 'description' => 'A build of the next version twice a day, then every release'],
|
||||
@@ -26,27 +27,31 @@
|
||||
]"
|
||||
helper="The versions this instance upgrades to." />
|
||||
|
||||
@if ($update_channel === 'custom')
|
||||
<div x-show="$wire.update_channel === 'custom'" @if ($update_channel !== 'custom') x-cloak @endif>
|
||||
<x-forms.input required id="update_custom_tag" label="Image tag" placeholder="pr-1234"
|
||||
x-bind:required="$wire.update_channel === 'custom'"
|
||||
helper="A tag of ghcr.io/coollabsio/coolify, such as pr-1234 for the build of pull request 1234." />
|
||||
@else
|
||||
<div class="hidden lg:block"></div>
|
||||
@endif
|
||||
</div>
|
||||
<div x-show="$wire.update_channel !== 'custom'" @if ($update_channel === 'custom') x-cloak @endif
|
||||
class="hidden lg:block"></div>
|
||||
|
||||
@if ($update_channel === 'nightly')
|
||||
<x-callout type="danger" title="Nightly builds can break this instance" class="lg:col-span-2">
|
||||
<div x-show="$wire.update_channel === 'nightly'" @if ($update_channel !== 'nightly') x-cloak @endif
|
||||
class="lg:col-span-2">
|
||||
<x-callout type="danger" title="Nightly builds can break this instance">
|
||||
Nightly builds are untested builds of the next version. Things can break at any time and
|
||||
breaking changes are possible, including database changes a stable release does not expect.
|
||||
Back up first and use nightly only on an instance you can rebuild. After switching back to stable,
|
||||
the instance keeps getting the nightlies of its version until that version is released as stable.
|
||||
</x-callout>
|
||||
@elseif ($update_channel === 'custom')
|
||||
<x-callout type="danger" title="A custom image can break this instance" class="lg:col-span-2">
|
||||
</div>
|
||||
<div x-show="$wire.update_channel === 'custom'" @if ($update_channel !== 'custom') x-cloak @endif
|
||||
class="lg:col-span-2">
|
||||
<x-callout type="danger" title="A custom image can break this instance">
|
||||
The image installs only when you upgrade to it here, and automatic updates pause until you
|
||||
switch back to a channel. Pull request builds are untested and can include database changes
|
||||
a later release does not expect.
|
||||
</x-callout>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<x-forms.input required id="update_check_frequency" label="Check frequency"
|
||||
placeholder="0 * * * *"
|
||||
|
||||
Reference in new issue
Block a user