-
Notifications
You must be signed in to change notification settings - Fork 215
Add database backup functionality with GCS integration #297
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
Conversation
…eletion 🏠 Remote-Dev: homespace
🏠 Remote-Dev: homespace
@claude can you review? |
Claude finished @domdomegg's task —— View job PR Review: Database Backup FunctionalityComprehensive review of the database backup implementation with GCS integration and K8up operator. ✅ Overall AssessmentThis is a well-implemented backup solution that adds critical data durability to the MCP Registry. The architecture is sound, using industry-standard tools (K8up/Restic) with proper cloud integration. Key Strengths:
🔧 Technical ImplementationBackup Architecture
Code Quality
|
Re Claude's review:
|
🏠 Remote-Dev: homespace
@rdimitrov would you be up for reviewing this? |
@domdomegg - I'll be happy to 👍 I'll have a look at it later today/tomorrow if it's not too late for you? |
Works great for me, thanks 🙌 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn’t find anything concerning, so from my side I think it’s ready for merging 👍
The only thought that I have is more on the operational side. Backups usually only get used when things have already gone wrong which is the worst possible time to discover they’re not working 😄 So having some simple monitoring, playbooks for common scenarios, and maybe a periodic validation job could be nice future improvements.
backupSchedule := "46 4 * * *" // Daily at 4:46 AM | ||
pruneSchedule := "46 5 * * *" // Daily at 5:46 AM | ||
keepDaily := 28 // Keep daily backups for 28 days |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: should we have these and others like it as constants?
Also I wasn't sure if the diff in the retention days is a good practice (28 vs 60) but turned out it is so nice 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'm going to keep them inline for now, given we don't use them anywhere else and backup.go is fairly short. But if we end up wanting to configure them/change them often I can pull them out.
🏠 Remote-Dev: homespace
Implements automated database backup functionality with Google Cloud Storage integration, including retention policies and MinIO support for local development.
Motivation and Context
This change adds critical database backup capabilities to ensure data durability and disaster recovery. The solution provides automated backups with configurable retention policies and supports both production (GCS) and development (MinIO) environments.
How Has This Been Tested?
Breaking Changes
No breaking changes. This is an additive feature that doesn't affect existing functionality.
Types of changes
Checklist
Additional context