From 971fd12fae10bffc66d1ec714e99256fa3e3e10c Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 30 Apr 2026 15:06:50 +0300 Subject: [PATCH] =?UTF-8?q?tower=200.61.16=20/=20tower-ui=200.61.16=20?= =?UTF-8?q?=E2=80=94=20review=20fixes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two bugs the calm re-review surfaced: 1. substrateGateRejection used ListApplications (instance-only selector) — same bug we fixed in handleListServers but missed in the gate function. Result: the BACKEND gate was a pass-through for every preparing server. Frontend disable held the line in normal use, but the non-bypassable layer wasn't actually non-bypassable. Now uses ListClusterPlatformApps. 2. PlatformAppBadge had its own Argo→state mapping that classified Health=Degraded as 'Failed' immediately. Backend's deriveSubstrateStatus is forgiving within the budget (Degraded inside 10-min window reads as preparing). The two parallel logics meant the badge could show red 'Failed' while the gate considered it 'preparing'. Refactored badge to consume the backend's substrateStatus enum directly — single source of truth, no more disagreement. --- values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/values.yaml b/values.yaml index 07c5a6d..b7ff192 100644 --- a/values.yaml +++ b/values.yaml @@ -9,7 +9,7 @@ backend: # so every cluster that runs Tower needs the same imagePullSecret # provisioned out-of-band (until cluster-platform-v3 owns it). repository: registry.odoosky.cloud/odoosky/docker-mirror/tower - tag: "0.61.15" + tag: "0.61.16" pullPolicy: IfNotPresent imagePullSecrets: - name: docker-mirror-pull @@ -29,7 +29,7 @@ frontend: enabled: true image: repository: registry.odoosky.cloud/odoosky/docker-mirror/tower-ui - tag: "0.61.13" + tag: "0.61.16" pullPolicy: IfNotPresent imagePullSecrets: - name: docker-mirror-pull