Repository navigation
Conversation
Signed-off-by: Baylem <zelathis@gmail.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
…n parents Signed-off-by: Baylem <zelathis@gmail.com>
CI Report - ae14d5arun 42985674820 - attempt 1 0 failed - 33 passed - 0 skipped - 180m21s elapsed Test selection: full (selection-rule change) - per-suite table Coverage
Changed
Slowest jobs
e2e buckets run
|
…hearsals Signed-off-by: Baylem <zelathis@gmail.com>
…cation Signed-off-by: Baylem <zelathis@gmail.com>
…lification Signed-off-by: Baylem <zelathis@gmail.com>
…stored claims Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
…orkload Signed-off-by: Baylem <zelathis@gmail.com>
…resources Signed-off-by: Baylem <zelathis@gmail.com>
…on parent Signed-off-by: Baylem <zelathis@gmail.com>
…llouts Signed-off-by: Baylem <zelathis@gmail.com>
…ixes Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
|
Hey, could you please add changelog entry? |
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
|
Added the requested unreleased changelog entry. CI passed on ae14d5ab. The diff through 6c537267 changes only the changelog entry and its index link. I canceled the repeat CI run because this update changes only Markdown. |
Closes #881. Parent tracker #867.
hack/rollout/canary.pyverifies a signed, pinned Module and independently verifies the pinned game image. Preflight checks every GameServer using the dedicated installation. It qualifies a stopped all-data Restic clone, checks a pod-bound client join, save markers and claim UIDs, rehearses compatible or restore-required rollback on the clone, then requalifies it and admits one fleet target at a time. A resourceVersion-protected ConfigMap journals the active target and receipts outside the per-server lifecycle owner. Seedocs/template-rollouts.mdfor the four GitOps phases and recovery.Validation includes decision tests for a failed join, wrong digest, changed UIDs, stale journals and per-target halts.
TestGameServer_RestoredRolloutRehearsaluses the real operator, Restic, kubelet and PVCs in Kind. The Kind rehearsal tests an unpullable image and a running HTTP-only candidate that rejects a real Minecraft handshake. It checks that fleet admission halts, exercises compatible and restore-required rollback, verifies primary and extra save markers, and retains a different rebuildable mod file on each server. The runner supports TCP Pod port-forwarding and UDP client joins to the verified Pod IP from an in-cluster or routed runner. The Minecraft bot in #907 exercises a real game join and save on restored data. An entitled game and production signer matrix remains deployment-specific.The upstream integration base
stack/881-backup-and-wakecontains #907 (qualified backups/restores) and #904 (join client). Land the prerequisite PRs, retarget this PR tomasterand rerun CI. No shared cluster was deployed.Restored rollout qualification on
ae14d5ab74b4b386688914f267d46bd1571db534The Kind rehearsal passed all four cases on ARM64 (543.65s) and AMD64 (479.37s). Independent AMD64 rehearsal The compatible rollback kept the save readable directly. The format-changing rollback used Restic snapshot
b63139d0bcf881bf22167bab7d98d562ef8bdb7b0931cfc3fe933c3350a4d282in Restore6acaa54e-c9f2-4333-b8ca-43b505e7b5f6, removed the candidate-only format marker, and returned the primary and extra world values. The excluded mod file retained the clone's ownclone-packagevalue.fe45d715-bcca-4cee-9d30-3eda32546320fe45d715-bcca-4cee-9d30-3eda325463202e9c6e49-d664-4817-9367-7754dab0aa272e9c6e49-d664-4817-9367-7754dab0aa2732d84e79-8484-446b-b31c-61bf29ba7efb32d84e79-8484-446b-b31c-61bf29ba7efbA running HTTP-only candidate served the world marker but failed the real Minecraft handshake. The journal kept only its baseline receipt and blocked promotion. An unpullable candidate also halted the rollout. The untouched fleet member retained its original pod UID throughout. Kind rehearsal and raw receipts · Fleet admission decision tests · Successful real Minecraft join and save on a restored world in the backup parent