Skip to content

fix(helm): remediate igloo-pg apps by uninstall instead of rollback - #1838

Draft
slipperypenguin wants to merge 1 commit into
mainfrom
fix/igloo-pg-remediation
Draft

slipperypenguin wants to merge 1 commit into
mainfrom
fix/igloo-pg-remediation

Conversation

@slipperypenguin

@slipperypenguin slipperypenguin commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Why

Today's Renovate merge of open-webui v0.12.4 → v0.13.3 (#1831) left the release stuck:

  1. v0.13.3 ran six alembic migrations against igloo-pg (head now 9f6c2a8d1b43).
  2. The pod didn't become Ready within Helm's default 5m upgrade timeout, so Flux remediated with a rollback.
  3. v0.12.4 can't start against the migrated schema (alembic CommandError: Can't locate revision identified by '9f6c2a8d1b43'), so every rollback retry failed and the HelmRelease went into a loop. Recovery needed a manual set image to v0.13.3 with the HelmRelease suspended.

A rollback can never succeed once a forward-only migration has landed, so for apps that migrate igloo-pg the rollback remediation is actively harmful.

What

Only two apps use igloo-pg (n8n, manyfold and readeck are on SQLite):

App upgrade.timeout upgrade.remediation.strategy Migrations
open-webui 15m uninstall alembic on startup
litellm 20m (matches install.timeout) uninstall Prisma, since DISABLE_SCHEMA_UPDATE: "False"

With uninstall, a failed upgrade is remediated by uninstalling and reinstalling the desired version (rolling forward), using the existing install.remediation.retries: -1. Nothing persistent is removed: open-webui's data PVC is an existingClaim, and both apps keep their state in Postgres.

Trade-off

An uninstall-based remediation briefly removes the Service and HTTPRoute, so there's a short outage during remediation. Today that window was already an outage (the rolled-back pod crashlooped), so this only makes recovery automatic.

@igloo-bot igloo-bot Bot added the area/kubernetes Changes made in the kubernetes directory label Nov 12, 2026
@igloo-bot

igloo-bot Bot commented Nov 12, 2026

Copy link
Copy Markdown
--- kubernetes/apps/default/litellm/app Kustomization: default/litellm HelmRelease: default/litellm

+++ kubernetes/apps/default/litellm/app Kustomization: default/litellm HelmRelease: default/litellm

@@ -18,12 +18,14 @@

     timeout: 20m
   interval: 1h
   upgrade:
     cleanupOnFail: true
     remediation:
       retries: 3
+      strategy: uninstall
+    timeout: 20m
   values:
     controllers:
       litellm:
         annotations:
           reloader.stakater.com/auto: 'true'
         containers:
--- kubernetes/apps/default/open-webui/app Kustomization: default/open-webui HelmRelease: default/open-webui

+++ kubernetes/apps/default/open-webui/app Kustomization: default/open-webui HelmRelease: default/open-webui

@@ -17,12 +17,14 @@

       retries: -1
   interval: 1h
   upgrade:
     cleanupOnFail: true
     remediation:
       retries: 3
+      strategy: uninstall
+    timeout: 15m
   values:
     controllers:
       open-webui:
         annotations:
           reloader.stakater.com/auto: 'true'
         containers:

open-webui v0.13.3 (#1831) applied alembic migrations to igloo-pg, then
exceeded the 5m Helm upgrade timeout. Flux remediated with a rollback to
v0.12.4, which cannot start against the migrated schema ("Can't locate
revision 9f6c2a8d1b43"), leaving the release stuck in a rollback loop.

For the two apps that run forward-only migrations against igloo-pg
(open-webui, litellm):
- upgrade.remediation.strategy: uninstall, so a failed upgrade reinstalls
  the desired version rather than rolling back to an incompatible image
- upgrade.timeout raised (15m open-webui, 20m litellm to match its
  install timeout) so first-boot migrations and model downloads fit
@slipperypenguin
slipperypenguin force-pushed the fix/igloo-pg-remediation branch from 89a7a07 to 8590413 Compare November 12, 2026 21:29

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/kubernetes Changes made in the kubernetes directory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant