CluPilotCloud/app/Livewire/Admin
nexxo aae0457e19 feat(admin): administrator access to a customer's Nextcloud
Impersonation borrows the customer's portal session; this is access to their
installation, which is a different thing and now a different button.

Nextcloud has no passwordless admin jump, so this does the only honest thing it
offers: it resets OUR managed admin account inside that installation and hands
the credentials over once. The customer's own accounts are untouched, and the
next request sets a new password again.

- New capability instances.adminlogin, Owner and Admin only — stronger than
  impersonation, because it hands over control rather than a session.
- The operator's own password is required every time, rate-limited: taking over
  a customer's installation is not something an unattended browser should manage
  on its own.
- The reset runs on the provisioning worker (it owns the tunnel and the Proxmox
  credentials); the console polls a handoff token, so the credentials never
  enter a Livewire snapshot.
- A silent instance is reported as such instead of appearing to succeed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-26 05:30:59 +02:00
..
ConfirmDeleteDatacenter.php fix(admin): authorize datacenter modal mounts; stale threshold uses step maxDuration 2026-07-25 18:23:44 +02:00
ConfirmDeleteVpnPeer.php feat(vpn): ownership, a Developer role, and password-gated config retrieval 2026-07-25 22:31:54 +02:00
ConfirmRemoveHost.php feat(admin): staff RBAC (spatie) + admin settings page 2026-07-25 15:47:42 +02:00
Customers.php feat(admin): administrator access to a customer's Nextcloud 2026-07-26 05:30:59 +02:00
Datacenters.php fix(datacenters): a code becomes a DNS label, so validate it as one 2026-07-25 23:56:50 +02:00
EditDatacenter.php fix(auth/admin): atomic user+customer signup; Rule::in for country validation (comma-safe) 2026-07-25 18:33:09 +02:00
HostCreate.php feat(admin): staff RBAC (spatie) + admin settings page 2026-07-25 15:47:42 +02:00
HostDetail.php feat(admin): staff RBAC (spatie) + admin settings page 2026-07-25 15:47:42 +02:00
Hosts.php feat(admin): scalable host list (search/filter/health) + host detail redesign 2026-07-25 14:27:53 +02:00
InstanceAdminAccess.php feat(admin): administrator access to a customer's Nextcloud 2026-07-26 05:30:59 +02:00
Instances.php feat(admin): dark Tactical-Terminal operator console 2026-07-25 08:35:03 +02:00
Maintenance.php fix(maintenance): make the window form usable 2026-07-25 23:05:33 +02:00
Overview.php feat(admin): datacenter edit+delete (guarded); MRR chart fills card; host-load as meters 2026-07-25 14:22:15 +02:00
Provisioning.php fix(admin): authorize datacenter modal mounts; stale threshold uses step maxDuration 2026-07-25 18:23:44 +02:00
Revenue.php feat(admin): dark Tactical-Terminal operator console 2026-07-25 08:35:03 +02:00
Settings.php feat(site): switch the public website and portal off from the console 2026-07-25 23:10:27 +02:00
Vpn.php fix(vpn): a late revocation must not disconnect whoever holds the key now 2026-07-26 01:24:55 +02:00
VpnConfigAccess.php fix(vpn): count downloads in the database; repair the race test 2026-07-25 22:48:38 +02:00