fab8d6252130ee4383375171c1ef582953489a75
handleUpdateAddons was fully synchronous including BuildKit Jobs per addon image. cetmix_tower auto-pulls 8 deps × ~30-90s each on a fresh cluster = 5-15 min. Reverse proxy timeout (60-120s) cuts the request mid-build, browser shows 'Saving' forever, drawer eventually closes on the timeout error, AND the cancelled context kills the goroutine mid-flight so values.yaml never gets committed. Now: handler validates inline (immediate feedback on bad input), spawns an addon-stage op, returns 202 + opId in <1s. The goroutine runs phases (resolve → build → commit → refresh) with a fresh context that survives client disconnect. Operator watches it in the bell + Activity tab, can keep working in another tab. Same pattern Deploy/Migrate/Apply already use.
admin-platform-v3
Tower platform Helm chart
Description
Languages
Smarty
100%