CluPilotCloud/app
nexxo f0ec2fe03f
tests / pest (push) Failing after 7m22s Details
tests / assets (push) Successful in 20s Details
tests / release (push) Has been skipped Details
Keep the SFTP credential on the row it belongs to, encrypted
The first version put it in the credential vault. The vault refuses it, and
correctly: it keeps a registry of fixed, documented credentials so the Secrets
page can describe each one, and a per-destination password is not that. Forcing
a dynamic key into that registry would have made the registry meaningless.

Encrypted onto the row with the same cipher instead — the same key, so it is no
more readable in a database dump than anything the vault holds, and it lives
with the record it describes. A rotated SECRETS_KEY now says so by name rather
than surfacing as an authentication failure against a host that is perfectly
fine.

Also answers the question that prompted this: the host, port and user fields are
there, and appear once SFTP is chosen. A mounted directory has no host on
purpose — the mount is made on the server with mount(8), and the application
only names the directory it writes into. A test asserts both halves, because
"the fields are there, you just cannot see them yet" is not something anybody
should have to take on trust.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 02:46:06 +02:00
..
Actions Put every mail in one design, and confirm an order when the money arrives 2026-07-29 00:14:04 +02:00
Console Let the export have as many destinations as somebody wants 2026-07-29 02:43:15 +02:00
Exceptions Refuse a portal login for an address that already belongs to an operator 2026-07-28 14:42:16 +02:00
Http Show where an account is signed in, and let it sign the other places out 2026-07-28 23:38:17 +02:00
Jobs Let the export have as many destinations as somebody wants 2026-07-29 02:43:15 +02:00
Listeners Recognise the devices an account signs in from, and warn about a new one 2026-07-28 23:28:34 +02:00
Livewire Keep the SFTP credential on the row it belongs to, encrypted 2026-07-29 02:46:06 +02:00
Mail Send the invoice with the invoice attached 2026-07-29 02:13:41 +02:00
Models Let the export have as many destinations as somebody wants 2026-07-29 02:43:15 +02:00
Notifications Add the SSH identity to the vault, and give deployment config a console page 2026-07-29 00:52:44 +02:00
Policies Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
Providers Move host DNS names off the public zone into vpn-dns's internal hostsdir 2026-07-28 23:44:31 +02:00
Provisioning Add the SSH identity to the vault, and give deployment config a console page 2026-07-29 00:52:44 +02:00
Services Keep the SFTP credential on the row it belongs to, encrypted 2026-07-29 02:46:06 +02:00
Support List issued invoices in the console, with no way to change one 2026-07-29 02:21:15 +02:00