feat: add Google Drive, SFTP, FTP, OneDrive backup destinations via rclone#1457
Open
zlplzp123wyt wants to merge 28 commits intoCortexFlow-AI:mainfrom
Open
feat: add Google Drive, SFTP, FTP, OneDrive backup destinations via rclone#1457zlplzp123wyt wants to merge 28 commits intoCortexFlow-AI:mainfrom
zlplzp123wyt wants to merge 28 commits intoCortexFlow-AI:mainfrom
Conversation
When editing a notification, only the notification.all query cache was invalidated. The notification.one query retained stale data, causing the edit form to display previous values on subsequent edits.
…imports in auth-client and auth modules
…ion-cache-on-edit fix: invalidate notification.one query cache on update
…auth chore: update better-auth dependencies to version 1.5.4 and refactor …
…s in components - Introduced new test files for permission checks, including `check-permission.test.ts`, `enterprise-only-resources.test.ts`, `resolve-permissions.test.ts`, and `service-access.test.ts`. - Implemented permission checks in various components to ensure actions are gated by user permissions, including `ShowTraefikConfig`, `UpdateTraefikConfig`, `ShowVolumes`, `ShowDomains`, and others. - Enhanced the logic for displaying UI elements based on user permissions, ensuring that only authorized users can access or modify resources.
…h new definitions - Deleted the old SQL files for organization_role and audit_log. - Introduced new SQL file defining organization_role and audit_log with updated foreign key constraints and indexes. - Updated metadata snapshots to reflect the new table structures and relationships. - Adjusted access control permissions for backup and notification operations to include update capabilities.
- Replaced the delete operation with an update for organization roles, ensuring existing roles are modified instead of removed. - Adjusted the return value to reflect the updated role instead of a newly created entry. - Reintroduced the audit logging functionality for role updates.
feat: add comprehensive permission tests and enhance permission check…
- Added new components for displaying and managing audit logs, including a data table and filters for user actions. - Introduced a custom roles management interface, allowing users to create and modify roles with specific permissions. - Updated permission checks to ensure proper access control for audit logs and custom roles. - Refactored existing components to integrate new functionality and improve user experience.
…-submit fix: prevent Watch Paths tooltip button from submitting the form
- Replaced direct state checks with a derived variable `isCollapsed` for better readability and maintainability. - Updated class names and conditions in the SidebarLogo component to use the new `isCollapsed` variable. - Adjusted overflow behavior in Sidebar and SidebarContent components for improved layout management.
- Removed TimeBadge from the ShowProjects component and integrated it into the BreadcrumbSidebar. - Added a query to determine if the environment is cloud-based, allowing for conditional display of the TimeBadge. - Updated layout in BreadcrumbSidebar for improved spacing and organization.
…tate-has-usability-and-visual-issues 3979 collapsed sidebar state has usability and visual issues
- Updated MariaDB, MongoDB, MySQL, PostgreSQL, and Redis schemas to include an optional dockerImage field for enhanced configuration flexibility.
…ker-image-reset-to-default-for-any-unrelated-change feat: add optional dockerImage field to database schemas
- Updated the rsync command in the runWebServerBackup function to exclude the 'volume-backups/' directory, ensuring that unnecessary data is not copied during the backup process.
…backup-file-size-increase-500-kb-4-gb-overnight fix: exclude volume-backups from web server backup rsync command
- Updated the mechanizeDockerContainer function to conditionally use authConfig when creating a Docker service, ensuring proper service creation based on authentication settings.
…eploy-to-swarm-worker-fails-with-unauthorized-no-such-image-retry-succeeds fix: handle optional authConfig in mechanizeDockerContainer function
…n-off fix(volume-backups): restart container before S3 upload in volume backup
…clone Add support for multiple backup destination types beyond S3-compatible storage. Changes: - Add destinationType enum field (s3, gdrive, sftp, ftp, onedrive) - Add new schema fields: credentials, host, port, username, password, remotePath - Make S3-specific fields nullable for non-S3 destinations - Update getRcloneDestinationPath to generate correct rclone paths per type - Update all backup modules (postgres, mysql, mariadb, mongo, compose, web-server) - Update testConnection endpoint to handle all destination types - Update UI form to show type-specific fields dynamically - Add database migration Closes CortexFlow-AI#168
Author
Author
|
Hi! Just checking in — this PR implements Google Drive, SFTP, FTP, and OneDrive backup support via rclone. All working and tested. Happy to make any changes if needed! 🙏 |
Author
|
Hi maintainers! This PR is ready for review. It adds Google Drive, SFTP, FTP, and OneDrive backup destinations via rclone. Summary of changes:
All checks are clean and the branch is up to date. Happy to address any feedback. Thank you! |
Author
|
Hi team! Just checking in again. This PR implements Google Drive, SFTP, FTP, and OneDrive backup destinations via rclone for issue #168. All features are working and tested. Happy to make any adjustments. Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #168
Summary
Adds support for multiple backup destination types beyond S3-compatible storage, using rclone as the transport layer.
Supported Destinations
Changes
destinationTypeenum and new fields (credentials,host,port,username,password,remotePath)getRcloneDestinationPath()to generate correct rclone connection strings per destination typetestConnectionendpoint handles all destination typesHow It Works
--s3-*flags with rclone (unchanged behavior)gdrive_<id>with service account credentialsonedrive_<id>with OAuth credentialsTesting