CluPilotCloud/app/Console/Commands
nexxo 277a6bab83 Give the operator something to do about an orphan nobody can adopt
The recognition step refuses a price that proves nothing about itself, and that
is right — adopting a stranger's price is worse than minting a second one. It
left an operator with a log line and no way to act on it.

Reports by default and touches nothing. With --archive the orphans stop being
sold, which is harmless for the reason it always is here: Stripe goes on billing
every subscription already on an archived price, and nothing is sold on a price
no row knows.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 18:36:06 +02:00
..
ApplyDuePlanChanges.php Book a downgrade for a date that cannot move, and sell a module once 2026-07-29 17:51:37 +02:00
ApplyStorageQuotas.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
ArchiveUnexportedInvoices.php Let the export have as many destinations as somebody wants 2026-07-29 02:43:15 +02:00
AutoUpdate.php Update on a schedule if the owner wants one, and say where incidents go 2026-07-29 15:01:54 +02:00
CheckDnsZone.php Put customer instances on their own domain, and say which domains are ours 2026-07-29 16:03:13 +02:00
CheckPlanCatalogue.php feat(billing): the plan catalogue becomes three tables, and config stops selling 2026-07-26 12:05:56 +02:00
ConsoleAccess.php Make the private hostnames look like nothing is there, and close the way past the proxy 2026-07-27 11:26:48 +02:00
CreateAdmin.php Check users directly for the reverse operator-identity collision, not just customers 2026-07-28 15:36:29 +02:00
EndCancelledAddons.php Bill a booked module every month, and put it on the invoice 2026-07-29 20:22:02 +02:00
EndDueServices.php Restart a machine, enforce the quota that was sold, end a route that ended 2026-07-29 18:28:28 +02:00
FetchInboundMail.php Read the support mailbox into the console 2026-07-29 21:41:29 +02:00
PruneDormantAccounts.php Accept terms instead of a start date, and fix the sender no server accepts 2026-07-30 15:22:35 +02:00
PruneExportFolders.php Let a destination say how it is laid out and how long anything stays 2026-07-29 03:08:27 +02:00
PruneHostDns.php Move host DNS names off the public zone into vpn-dns's internal hostsdir 2026-07-28 23:44:31 +02:00
PruneUnverifiedAccounts.php Discard an unconfirmed registration, and sweep the abandoned ones 2026-07-30 14:08:02 +02:00
RepriceStripeSubscriptions.php Stop charging VAT to the customers who owe us none 2026-07-30 02:15:41 +02:00
SampleServiceStatus.php Rebuild the status page as a status page 2026-07-29 12:45:18 +02:00
SweepOrphanStripePrices.php Give the operator something to do about an orphan nobody can adopt 2026-07-30 18:36:06 +02:00
SyncStripeCatalogue.php Subtract only what was counted, not everything a singleton adopted 2026-07-30 18:20:27 +02:00
SyncStripeSubscriptions.php Bill a booked module every month, and put it on the invoice 2026-07-29 20:22:02 +02:00
VerifyCustomDomains.php Serve the custom domain, not just announce it 2026-07-29 16:44:52 +02:00
VerifyVatIds.php Stop charging for a service that has ended 2026-07-30 00:52:19 +02:00