CluPilotCloud/app
nexxo 0066b1c6a0
tests / pest (push) Successful in 7m28s Details
tests / assets (push) Successful in 19s Details
tests / release (push) Successful in 4s Details
feat(security): a way back into the console that does not need the console
The allowlist is managed in the console, which is fine until the address you
manage it from changes — and then the page that would fix the problem is the
page the problem blocks. Every gate needs a door that does not depend on
itself, and on a server that door is a shell:

  php artisan clupilot:console-access show
  php artisan clupilot:console-access allow 203.0.113.7
  php artisan clupilot:console-access open

The address check moved to RestrictConsoleNetwork::isNetwork() so the command
and the console apply the same rule. Codex caught the version that did not: a
typo like 203.0.113.9/99 was stored, reported as success, and matched nothing —
leaving whoever was recovering still locked out, now believing they were not.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 03:09:13 +02:00
..
Actions fix(billing): hold only what cannot be matched, and let migrations roll back 2026-07-26 13:57:11 +02:00
Console feat(security): a way back into the console that does not need the console 2026-07-27 03:09:13 +02:00
Http feat(security): a way back into the console that does not need the console 2026-07-27 03:09:13 +02:00
Livewire feat(security): a way back into the console that does not need the console 2026-07-27 03:09:13 +02:00
Mail fix(admin): confirm maintenance delivery via MessageSent (retryable until sent); guard resend/cancel on derived state; fix flaky non-unique host wg_ip 2026-07-25 16:14:01 +02:00
Models feat(billing): Stripe owns the billing cycle, we own capability 2026-07-26 13:36:28 +02:00
Notifications fix(engine-b): default-deny firewall, disk-based capacity, synchronous credential mail 2026-07-25 12:39:15 +02:00
Policies fix(vpn): losing the operator roles closes the owner doors by itself 2026-07-25 22:50:13 +02:00
Providers feat(security): the console decides who may reach it, and the owner keeps the list 2026-07-26 20:27:26 +02:00
Provisioning fix(billing): a paid order opens a contract, and provisioning obeys it 2026-07-26 11:10:00 +02:00
Services feat(deploy): releases you can pin to, and a version that tells the truth 2026-07-26 15:21:38 +02:00
Support feat(traffic): meter the monthly allowance, show it, throttle instead of blocking 2026-07-25 23:33:47 +02:00