Hello, I'm currently upgrading a highly customized 4.X CAS version to 5.0.6 and running into a problem with cached assets on our F5 Appliance.
The problem is that many of the customized assets have the same name (ex. cas.js) but different content, and while we can clear the F5 Ram Cache, this does not allow us the flexibility to switch cleanly back and forth between the two versioned deployments and we would rather add a VersionResourceResolver to the newer version (5.0.X) of the application so that all assets have hash codes in the file names so that the F5 appliance will cache the proper version, and the two applications will not be getting one another's assets.
If someone has already done this and could provide some pointers I would appreciate it. I think I'm half way there, but am not sure I'm not mixing solutions. We have a desire to get away from our highly customized versions and back inline with the direction of the underlying CAS software (and this is out first step).
I've read several articles and gotten as far as encoding the urls in the templates, but when the login page is accessed, the server returns a 404 for the javascript assets, so here is what I have in the 5.0.6 application:
Background/Environment:
- Software: CAS 5.0.6 built with an overlay
- Application.properties in src/main/resources
- JavaScript resources in: src/main/resources/static/js
- Thymeleaf templates in in: src/main/resources/static/templates
- Environment:
- Local: build and run locally via a fat jar.
- Everywhere else: fat jar built on Jenkins, Docker Image deployed to K8S Cluster with an F5
Resources I've reviewed: