Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow configuration of a backup git repository #617

Open
cah-andrew-fitzgerald opened this issue Jan 26, 2017 · 10 comments
Open

Allow configuration of a backup git repository #617

cah-andrew-fitzgerald opened this issue Jan 26, 2017 · 10 comments
Assignees

Comments

@cah-andrew-fitzgerald
Copy link

@cah-andrew-fitzgerald cah-andrew-fitzgerald commented Jan 26, 2017

At a workshop with @mstine a few questions came up about how to deal with internal git repository maintenance windows and outages. One of the potential resolutions was to modify the SCC server to accept a secondary git repository in the event that the first repository is unavailable, ala Hystrix fallbacks.

Perhaps something along the lines of spring.cloud.config.server.git.fallbackUris=host1,host2

Any thoughts on usefulness/if it would be worth the additional complexity?

@spencergibb
Copy link
Member

@spencergibb spencergibb commented Jan 26, 2017

There is currently a composite EnvironmentRepository. You could list both. Currently, if git on host1 failed the whole request would fail. We could add an option to keep going even if some EnvironmentRepositorys fail.

@cah-andrew-fitzgerald
Copy link
Author

@cah-andrew-fitzgerald cah-andrew-fitzgerald commented Feb 1, 2017

Would it make sense to open an additional issue for allowing the config server to serve stale data in the event that it has done an initial pull from the git repo, but is unable to connect and refresh?

@spencergibb
Copy link
Member

@spencergibb spencergibb commented Feb 1, 2017

There are [various] cache related issues, if one of them fits, comment there.

@sarveshkaushal
Copy link

@sarveshkaushal sarveshkaushal commented Apr 26, 2017

This would be a nice enhancement if connection to git fails, configurations are picked from local file on config-server.

@karl-ravn
Copy link
Contributor

@karl-ravn karl-ravn commented Jul 26, 2017

@cah-andrewfitzgerald: PR #749 could potentially work for you in the case of serving stale data. It also offloads the git server in case there are lots of servers refreshing their configuration regularly. There is the potential to improve on my PR to force updates from the outside (scheduled task), but not without breaking the current interfaces.

@Torbilicious
Copy link

@Torbilicious Torbilicious commented Jan 9, 2018

This would be really nice. We currently have problems with bitbucket and needed to deploy an emergency update using another hoster...

@matzegebbe
Copy link

@matzegebbe matzegebbe commented Jan 4, 2019

same problem here

@GuiF007
Copy link

@GuiF007 GuiF007 commented Nov 12, 2019

There is currently a composite EnvironmentRepository. You could list both. Currently, if git on host1 failed the whole request would fail. We could add an option to keep going even if some EnvironmentRepositorys fail.

Is this on the way ? As I understand, we can go around this "backup" problem using a custom EnvironmentRepository but not that great.

We had a case for some reason the on-premise-Gitlab is down... So none of our microservices can be started without Gitlab :/

@ikhangt
Copy link

@ikhangt ikhangt commented Apr 29, 2020

@GuiF007 I have a very similar concern. Did you come up with a workaround?

@GuiF007
Copy link

@GuiF007 GuiF007 commented Apr 29, 2020

@ikhangt As it was with Openshift, we created a volume with the configuration inside. This volume is automatically updated everytime a configuration is asked. And it does not crash if the repo is not available, taking the last config retrieved...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
9 participants