From 16663ba9980c30fa481f1aa44e65098a3fb49852 Mon Sep 17 00:00:00 2001 From: Erik Darling <2136037+erikdarlingdata@users.noreply.github.com> Date: Sun, 11 Oct 2026 10:44:01 -0400 Subject: [PATCH 01/14] The upgrade and installer accept a hand-named darling.json.bak-* backup in the install folder (#5649) The pre-lock check trusted the service account only on darling.json and on stamped backup names, while the hardening makes the service the owner of every darling.json.bak-* file. One glob per language now drives the check, the install-time hardening, the manifest guard, the service sweep and the CLI check. A refusal that lists only such files names them and gives the one-file fix. The U1 upgrade-shape legs carry a service-owned hand-named backup. --- .github/scripts/darling-upgrade-shapes.ps1 | 30 ++- .github/workflows/darling-upgrade-shapes.yml | 1 + .../DarlingDeployStaleFileTests.cs | 3 +- .../DarlingInstallLocationTests.cs | 222 ++++++++++++++++-- .../DarlingCliCommands.cs | 2 +- .../DarlingConfigBackup.cs | 26 ++ .../DarlingWorker.cs | 2 +- Darling/tools/install-darling.ps1 | 62 ++++- Darling/tools/upgrade-darling.ps1 | 62 ++++- 9 files changed, 372 insertions(+), 38 deletions(-) create mode 100644 Darling/PerformanceMonitor.Darling.Service/DarlingConfigBackup.cs diff --git a/.github/scripts/darling-upgrade-shapes.ps1 b/.github/scripts/darling-upgrade-shapes.ps1 index fc3a597fa9..5ac94c7671 100644 --- a/.github/scripts/darling-upgrade-shapes.ps1 +++ b/.github/scripts/darling-upgrade-shapes.ps1 @@ -13,6 +13,8 @@ Shapes (the leg name is -