License Recovery¶
The control layer locks; customer infrastructure does not. These steps unlock PteroCloud without deleting or rebuilding anything.
Quick triage¶
php artisan pterocloud:license:diagnostics --json
php artisan pterocloud:license:verify
The diagnostics never print the key or token.
Common scenarios¶
Server was unreachable, lease lapsed (lease_expired)¶
- Restore outbound HTTPS to the licensing API.
php artisan pterocloud:license:refresh.- On success the state returns to
active; no reinstall required.
Suspended / revoked¶
- Resolve the commercial issue with the vendor.
- The vendor unsuspends the license; the next refresh ingests a signed lease
with a higher
lease_generationand unlocks automatically. - If it does not unlock, run
pterocloud:license:refreshand check that the responselease_generationis higher than the recorded one.
Installation limit reached¶
- On another (stale) installation run
php artisan pterocloud:license:deactivate(confirmation required). - Re-run
pterocloud:license:activatehere. - A failed install releases its own slot (
INSTALL_FAILED_PENDING_RELEASE).
Copied/cloned installation (unverified / binding mismatch)¶
The lease is bound to the original installation UUID. Cloning the panel does not clone a license.
- Generate a fresh installation:
pterocloud:license:activateon the clone. - If the installation limit is hit, deactivate the source first.
Tamper warning (tamper_suspected)¶
- Restore the security-critical files from the signed release.
- Reinstall/refresh the signed release manifest.
pterocloud:license:verifyshould returnPASS.
Clock anomaly¶
- Fix NTP / system time.
php artisan pterocloud:license:refreshto revalidate online.
Uninstall¶
Uninstall works without a valid license. Use the admin uninstall/repair routes (allow-listed while locked) or remove the extension files. Uninstall does not require or consume a license, and it never deletes customer VMs, disks, backups or IPs by itself.
Reboots and process restarts¶
A systemd restart does not bypass enforcement: the service provider re-runs the license gate at boot, and the lease store is re-verified. A restart with a lapsed lease stays locked until revalidation succeeds.
Related¶
- States
- Troubleshooting: licensing
PC-LIC-###in the error reference