Is your feature request related to a problem? Please describe. I want to use the refreshRate property for 2 reasons: * keep load on our bitbucket server low (it's provided externally and unfortunately they don't seem to like a lot of requests) * improve performance for clients (as we don't have to go back and forth to bitbucket every request but only once every x minutes)

Unfortunately, there are also scenario's where you need an immediate refresh. Specifically, we have cicd pipelines that push a new tag to the config repo, and right after that a pod is spun up which will try to fetch that specific config.

Describe the solution you'd like Possible solutions: * Change the refresh logic, such that when you are inside the refreshRate window, but a tag or branch is not available in the cloned repo, it tries to update from the remote anyway (this might result in pretty obfuscated behavior, not sure I like this) * Include a parameter on the endpoint to force update of the repository. If you request a config with that parameter ?force-update=true, spring-cloud-config-server should always.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. * I've looked into using sping-cloud-config-monitor, however, as I understand it this will only send a notification to any connected clients that there updates, it will not refresh the repo. I may be wrong here. If I'm right, this does make me wonder how this feature works together with the refreshRate setting at all; wouldn't the client then on refresh still potentially get the old config?

Comment From: ryanjbaxter

Correct it just sends a notification to the client that its configuration has changed, it does not tell the server.

I am not sure I like option 2 where the client can override the server behavior. That would mean anyone could make a request to the server causing it to make a request to the git server.

You make a good point that it would be great if there was a webhook for the server, so the server knows a git repo it is using has changed and it could expire the refresh rate.