CluPilotCloud/app/Provisioning/Jobs
nexxo ee5e92c0ed Measure what the template draws
The panel could not show the storage ring or the transfer trend because nothing
measured them. instance_traffic keeps one row per billing period — right for an
allowance, useless as a series — and storage consumption was never sampled at
all, so the card could only ever state what was sold rather than what is used.

instance_metrics holds one row per instance per day, written by the traffic
collector on the visit it already makes. A second scheduler entry against the
same Proxmox API would have doubled the load and the failure modes for no gain.

Disk usage comes from `df` inside the guest rather than from Proxmox's own disk
figure, which reports the allocated image: that would show every customer a full
500 GB from their first day.

The rule the whole thing is built on: a reading that could not be taken is not a
reading of zero. The disk columns are nullable and left untouched when the guest
agent does not answer, so yesterday's figure stands instead of the ring dropping
to empty — which would tell a customer their data had vanished. Missing days
stay missing in the series rather than being filled with zeroes, which would
draw an outage that never happened. Both are covered by tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 16:29:28 +02:00
..
AdvanceRunJob.php fix(engine): durable queueing for long provisioning steps 2026-07-25 10:36:49 +02:00
ApplyVpnPeer.php fix(vpn): a late revocation must not disconnect whoever holds the key now 2026-07-26 01:24:55 +02:00
CollectInstanceTraffic.php Measure what the template draws 2026-07-27 16:29:28 +02:00
IssueInstanceAdminAccess.php fix(admin): never reset a stranger's VM, never leave the console spinning 2026-07-26 05:32:53 +02:00
PurgeHost.php fix(hosts): re-read the host before deciding there is no DNS record 2026-07-26 00:02:18 +02:00
RemoveWireguardPeer.php fix(vpn): lock every hub mutation; resolve duplicate keys inside the lock 2026-07-25 21:55:57 +02:00
SyncMonitoringStatus.php Move the console off /admin, give the status page its own address, and measure monitoring 2026-07-27 06:05:40 +02:00
SyncVpnPeers.php fix(vpn): a replaced key must not stall the reconciliation 2026-07-26 01:23:15 +02:00