Name no vendor in the export settings
A destination is a kind of connection, not a product. The wording said "Hetzner Storage Box" and the host field suggested one particular provider's hostname format, which reads as a requirement rather than an example — and the whole point of the directory kind is that whatever is behind it is nobody's business here. Both kinds stay. A directory is how an NFS 4.1 mount is used: the mount is made on the server, and the application writes into the path it produces. SFTP is for a destination that is not mounted. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>feat/granted-plans
parent
f0ec2fe03f
commit
0528b56a32
|
|
@ -20,8 +20,8 @@ use RuntimeException;
|
|||
* target can change without a line of code changing with it, and the whole
|
||||
* thing stays testable against a temporary directory.
|
||||
*
|
||||
* 'sftp' is for something reachable over the network with credentials — a
|
||||
* Hetzner Storage Box being the obvious one. The password is encrypted on the
|
||||
* 'sftp' is for something reachable over the network with credentials that is not
|
||||
* mounted. The password is encrypted on the
|
||||
* row with the same cipher the credential vault uses: a credential in a
|
||||
* settings table in the clear is a credential in every database dump.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -66,9 +66,9 @@ return [
|
|||
'target' => [
|
||||
'name' => 'Bezeichnung',
|
||||
'driver' => 'Art',
|
||||
'driver_local' => 'Verzeichnis auf diesem Server (Mount)',
|
||||
'driver_sftp' => 'SFTP (z. B. Hetzner Storage Box)',
|
||||
'driver_hint' => 'Ein Verzeichnis ist alles, was dieser Server schon beschreiben kann — eine NAS über NFS, ein Bind-Mount, eine Platte. Welches Protokoll dahinter steckt, geht die Anwendung nichts an.',
|
||||
'driver_local' => 'Verzeichnis auf diesem Server (NFS, SMB, Platte)',
|
||||
'driver_sftp' => 'SFTP (Speicher bei einem Anbieter)',
|
||||
'driver_hint' => 'Ein Verzeichnis ist alles, was dieser Server schon beschreiben kann — eine NAS über NFS 4.1, ein Bind-Mount, eine Platte. Der Mount wird auf dem Server eingerichtet; welches Protokoll dahintersteckt, geht die Anwendung nichts an. SFTP ist für Gegenstellen, die nicht gemountet sind.',
|
||||
'path' => 'Pfad',
|
||||
'path_local_hint' => 'Absoluter Pfad. Der Einhängepunkt selbst wird nie angelegt — fehlt er, gilt der Mount als weg und es wird nichts geschrieben.',
|
||||
'path_sftp_hint' => 'Verzeichnis auf der Gegenstelle.',
|
||||
|
|
|
|||
|
|
@ -66,9 +66,9 @@ return [
|
|||
'target' => [
|
||||
'name' => 'Name',
|
||||
'driver' => 'Kind',
|
||||
'driver_local' => 'Directory on this server (mount)',
|
||||
'driver_sftp' => 'SFTP (a Hetzner Storage Box, for instance)',
|
||||
'driver_hint' => 'A directory is anything this server can already write to — a NAS over NFS, a bind mount, a disk. Which protocol is behind it is no business of the application.',
|
||||
'driver_local' => 'Directory on this server (NFS, SMB, disk)',
|
||||
'driver_sftp' => 'SFTP (storage at a provider)',
|
||||
'driver_hint' => 'A directory is anything this server can already write to — a NAS over NFS 4.1, a bind mount, a disk. The mount is set up on the server, and which protocol is behind it is no business of the application. SFTP is for a destination that is not mounted.',
|
||||
'path' => 'Path',
|
||||
'path_local_hint' => 'Absolute path. The mount point itself is never created — if it is missing, the mount counts as gone and nothing is written.',
|
||||
'path_sftp_hint' => 'Directory on the far side.',
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
@if ($driver === 'sftp')
|
||||
<div class="grid gap-4 sm:grid-cols-3">
|
||||
<div class="sm:col-span-2"><x-ui.input name="host" wire:model="host" :label="__('finance.target.host')" placeholder="uXXXXXX.your-storagebox.de" /></div>
|
||||
<div class="sm:col-span-2"><x-ui.input name="host" wire:model="host" :label="__('finance.target.host')" placeholder="backup.example.com" /></div>
|
||||
<x-ui.input name="port" wire:model="port" type="number" :label="__('finance.target.port')" />
|
||||
</div>
|
||||
<x-ui.input name="username" wire:model="username" :label="__('finance.target.username')" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue