lasthourcloud/resources/views/livewire/project/database/postgresql/general.blade.php

111 lines
6.0 KiB
PHP
Raw Normal View History

2023-08-07 16:46:40 +00:00
<div>
<dialog id="newInitScript" class="modal">
2023-12-07 18:06:32 +00:00
<form method="dialog" class="flex flex-col gap-2 rounded modal-box" wire:submit='save_new_init_script'>
<h3 class="text-lg font-bold">Add Init Script</h3>
2023-08-11 18:19:42 +00:00
<x-forms.input placeholder="create_test_db.sql" id="new_filename" label="Filename" required />
<x-forms.textarea placeholder="CREATE DATABASE test;" id="new_content" label="Content" required />
<x-forms.button onclick="newInitScript.close()" type="submit">
Save
</x-forms.button>
</form>
<form method="dialog" class="modal-backdrop">
<button>close</button>
</form>
</dialog>
2023-12-07 18:06:32 +00:00
<form wire:submit="submit" class="flex flex-col gap-2">
2023-08-07 16:46:40 +00:00
<div class="flex items-center gap-2">
<h2>General</h2>
<x-forms.button type="submit">
Save
</x-forms.button>
</div>
2023-08-07 20:14:21 +00:00
<div class="flex gap-2">
2023-08-11 18:19:42 +00:00
<x-forms.input label="Name" id="database.name" />
<x-forms.input label="Description" id="database.description" />
2023-08-07 20:14:21 +00:00
<x-forms.input label="Image" id="database.image" required
2023-08-11 18:19:42 +00:00
helper="For all available images, check here:<br><br><a target='_blank' href='https://hub.docker.com/_/postgres'>https://hub.docker.com/_/postgres</a>" />
2023-08-07 20:14:21 +00:00
</div>
2023-10-04 08:34:44 +00:00
@if ($database->started_at)
<div class="flex gap-2">
<x-forms.input label="Initial Username" id="database.postgres_user" placeholder="If empty: postgres"
2023-10-04 08:34:44 +00:00
readonly helper="You can only change this in the database." />
<x-forms.input label="Initial Password" id="database.postgres_password" type="password" required
readonly helper="You can only change this in the database." />
2023-10-04 08:34:44 +00:00
<x-forms.input label="Initial Database" id="database.postgres_db"
2023-08-11 18:19:42 +00:00
placeholder="If empty, it will be the same as Username." readonly
2023-10-04 08:34:44 +00:00
helper="You can only change this in the database." />
</div>
@else
2024-03-25 09:41:44 +00:00
<div class="pt-8 dark:text-warning">Please verify these values. You can only modify them before the initial
start. After that, you need to modify it in the database.
2023-10-04 08:34:44 +00:00
</div>
<div class="flex gap-2 pb-8">
<x-forms.input label="Username" id="database.postgres_user" placeholder="If empty: postgres" />
<x-forms.input label="Password" id="database.postgres_password" type="password" required />
<x-forms.input label="Database" id="database.postgres_db"
2023-10-04 08:34:44 +00:00
placeholder="If empty, it will be the same as Username." />
</div>
@endif
<div class="flex gap-2">
2023-10-04 08:34:44 +00:00
<x-forms.input label="Initial Database Arguments" id="database.postgres_initdb_args"
2023-08-11 18:19:42 +00:00
placeholder="If empty, use default. See in docker docs." />
<x-forms.input label="Host Auth Method" id="database.postgres_host_auth_method"
2023-08-11 18:19:42 +00:00
placeholder="If empty, use default. See in docker docs." />
</div>
2023-09-07 11:23:34 +00:00
<div class="flex flex-col gap-2">
<h3 class="py-2">Network</h3>
2023-09-07 11:23:34 +00:00
<div class="flex items-end gap-2">
<x-forms.input placeholder="3000:5432" id="database.ports_mappings" label="Ports Mappings"
2024-03-25 09:41:44 +00:00
helper="A comma separated list of ports you would like to map to the host system.<br><span class='inline-block font-bold dark:text-warning'>Example</span>3000:5432,3002:5433" />
2023-10-04 08:34:44 +00:00
<x-forms.input placeholder="5432" disabled="{{ $database->is_public }}" id="database.public_port"
label="Public Port" />
<x-forms.checkbox instantSave id="database.is_public" label="Accessible over the internet" />
</div>
<x-forms.input label="Postgres URL (internal)"
helper="If you change the user/password/port, this could be different. This is with the default values."
type="password" readonly wire:model="db_url" />
@if ($db_url_public)
<x-forms.input label="Postgres URL (public)"
helper="If you change the user/password/port, this could be different. This is with the default values."
type="password" readonly wire:model="db_url_public" />
@endif
</div>
<x-forms.textarea label="Custom PostgreSQL Configuration" rows="10" id="database.postgres_conf" />
2023-08-07 16:46:40 +00:00
</form>
<h3 class="pt-4">Advanced</h3>
<div class="flex flex-col">
2023-12-07 18:06:32 +00:00
<x-forms.checkbox helper="Drain logs to your configured log drain endpoint in your Server settings."
instantSave="instantSaveAdvanced" id="database.is_log_drain_enabled" label="Drain Logs" />
</div>
<div class="pb-16">
<div class="flex gap-2 pt-4 pb-2">
<h3>Initialization scripts</h3>
2024-03-22 10:34:15 +00:00
<x-slide-over>
<x-slot:title>New Init Script</x-slot:title>
<x-slot:content>
<form class="flex flex-col gap-2 rounded modal-box" wire:submit='save_new_init_script'>
<x-forms.input placeholder="create_test_db.sql" id="new_filename" label="Filename" required />
<x-forms.textarea placeholder="CREATE DATABASE test;" id="new_content" label="Content"
required />
<x-forms.button type="submit">
Save
</x-forms.button>
</form>
</x-slot:content>
<button @click="slideOverOpen=true" class="button">+
Add</button>
</x-slide-over>
</div>
<div class="flex flex-col gap-2">
@forelse(data_get($database,'init_scripts', []) as $script)
2023-08-11 18:19:42 +00:00
<livewire:project.database.init-script :script="$script" :wire:key="$script['index']" />
@empty
<div>No initialization scripts found.</div>
@endforelse
</div>
</div>
2023-08-07 16:46:40 +00:00
</div>