What is the recommended approach to automatically refresh credentials or application configuration in an Azure VM scale set?
Scenario
I have a horizontally-scalable application hosted in Azure that receives real-time streaming data. I've configured a simple CI/CD pipeline that builds a custom immutable image with the application binaries/libraries and then publishes it to an image gallery. From there, it's deployed to a scale set with a load balancer frontend to distribute traffic across the instances. At creation time, each instance fetches an application configuration file from blob storage and credentials from key vault.
Problem
When the application configuration or credentials are changed, those changes are not reflected in running instances until they are reimaged. As the application handles streaming data, I must manually effect a "rolling restart" by reimaging each instance one-by-one to ensure the application remains available while all instances are updated to the newest configuration.
Question
Azure provides a native "rolling upgrade" functionality to handle changes to scale set properties. I already use this when deploying new images, and it works very well. However, changes to the application configuration in blob storage or credentials in key vault obviously do not trigger a change to scale set properties. Is there a way to effect the same "rolling upgrade" process to account for external changes, without having to manually cycle through the instances and reimage them? Alternatively, is there a better approach to managing application configuration/credentials?