[v2] Should Flipt be able to startup without Git access? #4907
-
|
Hey folks, First of all, great work on the product, been testing it lately, and super impressed so far. My question is regarding Flipt resiliency in the face of Git issues. I did a test using Docker Compose (I also did in Kubernetes, but to simplify, I'll focus on Compose), with a git repository and a local storage backend, persisted to a mounted volume. If, for example, after an initial startup with no issues, I mess up the git connection and restart the container, it fails to start, even though the data is present in the volume. Should Flipt be able to withstand this sort of issue (restart when git repo is having issues), or it wasn't a consideration? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 12 replies
-
|
Hi @joaofbantunes! I'm Dosu and I’m helping the flipt team. Flipt is not currently designed to start up and operate if Git is configured as the storage backend but is inaccessible, even if local storage data is present. When Git is specified, Flipt treats it as a critical dependency and will fail to start if it cannot connect or initialize the Git repository. There is no fallback to local storage in this scenario, and resiliency to Git connection issues during startup was not an explicit design consideration. If you want Flipt to operate without Git, you need to configure it to use the local storage backend directly instead of Git. Recent changes have improved Git repository detection and initialization for existing files, but they do not provide a degraded mode or automatic fallback if Git is unavailable—startup will still fail if Git access is required and not available (source). To reply, just mention @dosu. How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other |
Beta Was this translation helpful? Give feedback.
-
|
Hey @joaofbantunes. Thank you for your feedback about the product. Great question! There are different perspectives on this. Some would prefer fail fast. Some would prefer keeping the latest snapshot in the app, allowing it to evaluate flags even when Flipt isn’t available(more at flipt-io/flipt-client-sdks#970). Maybe that approach could work well for your case. We could probably support this if there’s no better alternative. We’d really appreciate learning more about how you’re using it. |
Beta Was this translation helpful? Give feedback.
Just gave it a go and everything looked to be working nicely: connection refused, DNS and timeout all allowed to proceed with an accompanying warning log.
Thanks again for the great work!