CluPilotCloud/resources/views/livewire
nexxo 864126ec7f
tests / pest (push) Failing after 7m28s Details
tests / assets (push) Successful in 19s Details
tests / release (push) Has been skipped Details
Add the SSH identity to the vault, and give deployment config a console page
The SSH private key CluPilot deploys to every host is now stored through
SecretVault (ssh.private_key), preferred over CLUPILOT_SSH_PRIVATE_KEY(_PATH)
at all three real consumers — SshTraefikWriter and HostStep::keyLogin.
kuma.password/kuma.totp stay in .env: they authenticate a separate Python
container at boot, and nothing in this app reads them, so the vault would
have nothing to wire them to.

A new /admin/infrastructure page, backed by App\Support\ProvisioningSettings,
makes the non-secret deployment settings that used to force a shell —
DNS zone, WireGuard hub endpoint and public key, Traefik's dynamic-config
path, the SSH public key, and the monitoring bridge URL — visible and
editable from the console, each wired to every real consumer. WG subnet/hub
IP and Kuma's own connection details stay in .env: the compose file and a
separate container read those before this application ever does.
2026-07-29 00:52:44 +02:00
..
admin Add the SSH identity to the vault, and give deployment config a console page 2026-07-29 00:52:44 +02:00
auth Require a confirmed address before an account can use anything 2026-07-28 23:43:20 +02:00
backups.blade.php Match the panel to the approved template, measured rather than assumed 2026-07-27 17:08:05 +02:00
billing.blade.php Show times on the operator's clock, keep storing them in UTC 2026-07-27 17:32:21 +02:00
cloud.blade.php Show times on the operator's clock, keep storing them in UTC 2026-07-27 17:32:21 +02:00
confirm-cancel-package.blade.php One definition of the navigation, and the country instead of the building 2026-07-27 16:09:39 +02:00
confirm-close-account.blade.php One definition of the navigation, and the country instead of the building 2026-07-27 16:09:39 +02:00
confirm-disable-two-factor.blade.php Replace native confirm() dialogs with the app's own modal pattern 2026-07-28 19:34:27 +02:00
confirm-end-other-sessions.blade.php Show where an account is signed in, and let it sign the other places out 2026-07-28 23:38:17 +02:00
confirm-remove-order.blade.php feat(billing): a cart you can actually read and change 2026-07-26 05:26:49 +02:00
confirm-revoke-seat.blade.php Replace native confirm() dialogs with the app's own modal pattern 2026-07-28 19:34:27 +02:00
customer-provisioning.blade.php One definition of the navigation, and the country instead of the building 2026-07-27 16:09:39 +02:00
dashboard.blade.php Stop mailing the initial admin password, hold it in the panel until noted 2026-07-28 23:19:20 +02:00
edit-mailbox.blade.php Let a mailbox send without a password when it never needed one 2026-07-28 05:54:21 +02:00
edit-seat.blade.php Editing in modals, an update button that is not gated on a stale reading, and a support page that is real 2026-07-27 17:55:49 +02:00
invoices.blade.php Match the panel to the approved template, measured rather than assumed 2026-07-27 17:08:05 +02:00
new-support-request.blade.php Editing in modals, an update button that is not gated on a stale reading, and a support page that is real 2026-07-27 17:55:49 +02:00
sessions.blade.php Show where an account is signed in, and let it sign the other places out 2026-07-28 23:38:17 +02:00
settings.blade.php Show where an account is signed in, and let it sign the other places out 2026-07-28 23:38:17 +02:00
support.blade.php Editing in modals, an update button that is not gated on a stale reading, and a support page that is real 2026-07-27 17:55:49 +02:00
users.blade.php Replace native confirm() dialogs with the app's own modal pattern 2026-07-28 19:34:27 +02:00