Skip to content

Static assets in Argo CD UI (extensions.js, fonts, images, etc.) lack caching headers and ETags #27103

@sherifabdlnaby

Description

@sherifabdlnaby

Summary

Some static assets in the Argo CD UI (such as extensions.js, fonts, CSS, images, etc.) are served without proper Cache-Control or ETag headers. This causes browsers to re-download these assets on every page load. In our case the extensions.js file is over 1.5MB in size, and it blocks the page loading. Especially on a slow network this can render the Argo CD UI unusable.

Motivation

Make ArgoCD UI Snappier!

Proposal

Well, ideally ArgoCD server can calculate hash and serve hashed file names with indefinite caching headers. I haven't done my homework myself to explore the feasibility of this though. Alternatively, we can support ETags to respond with 304 Not Modified. Or add a short-term cache control header that the user can customize.

Mitigation

Users can use their Ingress controller to set Cache-Control on Argo's behalf. But it's better if this work out of the box.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttriage/pendingThis issue needs further triage to be correctly classified

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions