kubeapps icon indicating copy to clipboard operation
kubeapps copied to clipboard

Cache Update Mismatch in Kubeapps When Using Flux with `reconcileStrategy: Revision`

Open kvaps opened this issue 1 year ago • 0 comments

Description:

We have identified an integration issue between Kubeapps and Flux when Flux is configured with the reconcileStrategy: Revision. In this setup, Flux correctly handles changes to Helm charts without version updates by automatically downloading and applying new artifacts upon changes. This behavior aligns with the expected functionality of the reconcileStrategy: Revision.

However, Kubeapps, which builds its cache from Flux's source-controller, does not account for the possibility of chart changes without version updates. Consequently, when a chart is updated without a version change, Kubeapps does not refresh its cache, leading to outdated chart information being displayed.

Proposed Solution:

To address this issue, we propose implementing a mechanism in Kubeapps to detect changes in charts managed by Flux using the reconcileStrategy: Revision, thereby triggering a cache refresh. Specifically, this would involve tracking new artifact saves by Flux and initiating a Kubeapps cache reset in such events. It's important to note that the cache in question is implemented using Redis.

Significance:

Implementing this feature will significantly improve Kubeapps' compatibility with Flux when using the reconcileStrategy: Revision and enhance the user experience by ensuring chart information in Kubeapps remains up-to-date, even when chart versions are not updated.

Steps to Reproduce:

  1. Configure Flux with reconcileStrategy: Revision.
  2. Update a Helm chart without changing the chart version.
  3. Observe that Flux correctly applies the changes and downloaded new artifact
  4. Check Kubeapps and note that the changes are not reflected due to the cache (Redis) not being refreshed.

Expected Behavior:

Upon any changes to charts managed by Flux, Kubeapps should automatically update its Redis cache to accurately reflect the latest chart information, regardless of whether the chart version has been updated.

kvaps avatar Feb 19 '24 19:02 kvaps