-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Allow for Replicated Snapshot, Rollback, & Restore #9926
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
Comments
@lucasvaltl what's the expectation about what we backup here? My assumption is that the in-cluster dependencies (MySQL, Minio, Registry) will be backed up and any external dependencies are excluded. My reasoning is that these resources will often have a simpler backup method and any backup we wish to provide will be:
This seems to be putting an unnecessary strain on the cluster. We also don't really have much in the way of persistent volumes. We have:
The *ed resources will already be backed up, Redis doesn't require storage and it's arguable whether the KOTS resources need it |
Thanks for raising this @mrsimonemms and being critical. I actually agree:
Given that most if not all of the relevant data is stored in the above mentioned dependencies, what remains in terms of backup is the configuration of your Gitpod instance. This is actually something worth backing up (to minimise time to recovery), but for now it is not worth the cost of implementing Replicated's entire rollback/restore/snapshot feature. The added downside of doing the former is that this replicated feature assumes a full back up (and this is mentioned in the UX), and when we in reality only backup the configuration this can lead to misunderstandings with users with severe consequences. We should still think about how we can help persist the installation configuration of Gitpod:
Given the above, I will close this ticket. In spirit, it will be replaced by #10515. Creating this piece of documentation should still allow us to help our users with their backup strategy, while not creating the impression that we are backing up everything for them and rely on existing best practices for backups of the external dependencies. |
Reopening issue after customer requests for this feature. |
I've had a bit of a play with getting the in-cluster DB and storage backed up (see #12076 and #12045) but this is proving quite difficult due to using the Installer to do the deployment. Truthfully, the problem is a little nebulus and hard to explain, but I'll do my best - it's not impossible to solve, it's just that in our current implementation is would be a bit hacky.
The problem is not that it's impossible (or even THAT hard), it's that it would introduce a lot of post-processing and customisation to the Installer job that would be hard to test and may introduce weird regressions. To my mind, the risk/cost of adding it far outweighs the benefits of having it - as this would only be available for in-cluster dependencies, any enterprise deployment will likely use cloud dependencies for their data persistence, which has more sophisticated native backup solutions. |
Uh oh!
There was an error while loading. Please reload this page.
Is your feature request related to a problem? Please describe
As a customer, I want to be able to rollback after I upgrade my gitpod installation using replicated. I also want to be able to periodically backup my application to help with disaster recovery.
Describe the behaviour you'd like
Describe alternatives you've considered
Additional context
Dependencies
The text was updated successfully, but these errors were encountered: