You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
GHCR node credential rollout fails when a node changes during the rollout #5016
3 failed merge-group runs on 2026-09-20 failed in the deploy job's GHCR node credential rollout: the node identity or cordon state changed during the rollout, or the registry credential was not accepted.
Both affected pull requests later merged with no new push.
Evidence basis: check annotations only; no logs were read.
A node change that the candidate did not cause evicts it. The window shows one burst; whether it can recur is not known.
Expected behaviour
A node that something outside the deploy replaces or cordons during the rollout is handled as a known state, and only a real credential failure fails the deploy.
Acceptance criteria
Read the logs of the runs above and record which condition failed in each.
Decide whether the rollout can treat that condition as expected; fix it with a test if so, or close this issue with the reason if not.
Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.
Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your .coderabbit.yaml:
issue_enrichment:
auto_enrich:
enabled: false
💬 Have feedback or questions? Drop into our discord!
35524936547 (2026-09-20 17:30 UTC): a different condition. The deploy log reports that an autoscaler node "did not accept the Git/SOPS GHCR registry auth", and the bridge then released its ownership "while preserving the pre-existing cordon" on that node. So the node was already cordoned before the bridge reached it, and its Talos registry patch was not accepted. The log does not say why; it does not show the node being deleted.
So two of the three runs are the race #3184 fixed. What is left for the second criterion is only the third case: whether a node that is already cordoned when the rollout reaches it (for example one the autoscaler is retiring) should be skipped as expected, or whether a refused registry patch there is a real failure. No change was made.
Activity
coderabbitai commentedon Oct 17, 2026
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!
devantler commentedon Oct 24, 2026
Refinement, 2026-10-24: the first acceptance criterion, which condition failed in each run.
So two of the three runs are the race #3184 fixed. What is left for the second criterion is only the third case: whether a node that is already cordoned when the rollout reaches it (for example one the autoscaler is retiring) should be skipped as expected, or whether a refused registry patch there is a real failure. No change was made.