π€ Generated by the Daily AI Assistant
Problem
Every merge_group π Deploy to Prod run fails while ensuring the autoscaler Talos snapshot:
β failed to apply updates: failed to ensure autoscaler config secret: looking up snapshot image for
autoscaler secret: failed to ensure Talos snapshot: talos snapshot build failed: creating the temporary
server failed: server limit reached (resource_limit_exceeded)
The snapshot build spins up a temporary hcloud server, but the project is at its server limit (10 servers: 3 control-plane + 3 static workers + 4 autoscale-cx33). With no free slot the temp server can't be created, so the snapshot (Talos v1.13.5, schematic df884f4fβ¦) never builds.
This wedges the ENTIRE merge queue, not just Talos-config PRs. deploy-prod ensures the autoscaler config secret on every deploy, and that ensure step always looks up (and, when missing, builds) the snapshot image β independent of what the PR changed. Live proof today: it evicted #2416 and #2417 (Talos-config), and also #2418 β a workflows-only pin bump with a zero manifest diff β all with the identical resource_limit_exceeded on schematic df884f4f. So the earlier "non-Talos/workflows-only PRs still merge" assumption was wrong.
Acute impact: main is currently red (the TODOs workflow, healed by #2418βactions v9.0.0) and there is no path to green until a server slot frees, because #2418 itself cannot clear the queue. The autoscale pool has decayed 7β4 nodes (VPA recovery is underway) but is still at the project limit.
Proposed directions (pick one/combine)
- Raise the hcloud project server limit by a couple of slots (maintainer-only account action) β immediate unblock; the v1.13.5 snapshot builds once, then is reused and pressure eases.
- Check for / clean orphaned temp snapshot-build servers from prior failed builds accumulating against the limit (needs hcloud access).
- Pre-build/cache the Talos snapshot out-of-band (scheduled job, or make
deploy reuse an existing image and only build when genuinely absent) so the prod hot path never has to create a temp server against a full project β the durable fix (ksail deploy-mechanism hardening).
- Shed over-provisioning β the node inflation is the underlying cause; continue letting VPA/autoscaler decay so a slot frees naturally.
Rough size
SβM. Direction 1/2 is a one-off maintainer/account action (immediate); 3 is deploy-mechanism hardening in ksail; 4 is operational and already trending down.
Impact
Blocks all merges to main (queue fully wedged) and keeps main red until a server slot frees. Highest-priority acute blocker.
Problem
Every
merge_groupπ Deploy to Prodrun fails while ensuring the autoscaler Talos snapshot:The snapshot build spins up a temporary hcloud server, but the project is at its server limit (10 servers: 3 control-plane + 3 static workers + 4 autoscale-cx33). With no free slot the temp server can't be created, so the snapshot (Talos v1.13.5, schematic
df884f4fβ¦) never builds.This wedges the ENTIRE merge queue, not just Talos-config PRs.
deploy-prodensures the autoscaler config secret on every deploy, and that ensure step always looks up (and, when missing, builds) the snapshot image β independent of what the PR changed. Live proof today: it evicted #2416 and #2417 (Talos-config), and also #2418 β a workflows-only pin bump with a zero manifest diff β all with the identicalresource_limit_exceededon schematicdf884f4f. So the earlier "non-Talos/workflows-only PRs still merge" assumption was wrong.Acute impact:
mainis currently red (theTODOsworkflow, healed by #2418βactions v9.0.0) and there is no path to green until a server slot frees, because #2418 itself cannot clear the queue. The autoscale pool has decayed 7β4 nodes (VPA recovery is underway) but is still at the project limit.Proposed directions (pick one/combine)
deployreuse an existing image and only build when genuinely absent) so the prod hot path never has to create a temp server against a full project β the durable fix (ksail deploy-mechanism hardening).Rough size
SβM. Direction 1/2 is a one-off maintainer/account action (immediate); 3 is deploy-mechanism hardening in ksail; 4 is operational and already trending down.
Impact
Blocks all merges to
main(queue fully wedged) and keepsmainred until a server slot frees. Highest-priority acute blocker.