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

feat(backup): multiple backup stores support #2182

Open
wants to merge 29 commits into
base: master
Choose a base branch
from

Commits on Nov 11, 2024

  1. feat(backup): new field of Backup CRD

    Introduce a new field `BackupTargetName` in `Spec` of Backup CRD
    to support multiple backup targets.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    85d1fd4 View commit details
    Browse the repository at this point in the history
  2. feat(backup): new fields of BackupVolume CRD

    Introduce new fields `BackupTargetName` and `VolumeName` in `Spec`
    of BackupVolume CRD to support multiple backup targets.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    3a1e008 View commit details
    Browse the repository at this point in the history
  3. feat(backup): new filed of Volume CR

    Introduce a new filed `BackupTargetName` in `Volume.Spec` to point
    out where the volume will be backed up to.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    6b2aff8 View commit details
    Browse the repository at this point in the history
  4. feat(backup): methods to get backup volume CRs

    List backup volume CRs using a backup target name.
    List backup volume CRs using a volume name.
    Get a backup volume using a backup target name and a volume name.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    1ade6f0 View commit details
    Browse the repository at this point in the history
  5. feat(backup): backup target mutation

    Add the backup target mutator and add the finalizer into
    the backupTarget CR when mutating.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    1e490ad View commit details
    Browse the repository at this point in the history
  6. feat(backup): volume mutation and validation for mutiple backup targets

    Add the volume mutation and validation to handle the field
    `Spec.BackupTargetName`.
    Add a new label "backup-target".
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    c4d91e8 View commit details
    Browse the repository at this point in the history
  7. feat(backup): new fields of BackupBackingImage CRD

    Add fields `Spec.BackingImage` and `Spec.BackupTargetName`
    in the BackupBackingImage CRD
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    5952232 View commit details
    Browse the repository at this point in the history
  8. feat(backup): modify the backup target controller

    1. Add the deleting function.
    2. Modify the synchronizing backup volumes and backup backing images
       from a backup target methods.
    3. `sets.String` is deprecated and use generic `Set` instead
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    eb8a983 View commit details
    Browse the repository at this point in the history
  9. feat(backup): move out backup target logic from setting controller

    Move backupTimer from setting controller to backup target controller
    Move AWS IAM Role Annotation logic to datastore/kubernetes.go
    
    ref: longhorn/longhorn 5411, 6947
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    d043e63 View commit details
    Browse the repository at this point in the history
  10. feat(backup): add backup target validator

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    44656e3 View commit details
    Browse the repository at this point in the history
  11. feat(backup): modify setting and uninstall controllers

    Remove adding `backup-target` back when node is updated.
    Remove backup targets when uninstalling.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    b8a5732 View commit details
    Browse the repository at this point in the history
  12. feat(backup): new filed of Volume CR

    Introduce a new filed `BackupTargetName` in `Volume.Spec` to point
    out where the volume will be backed up to.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    7d649c4 View commit details
    Browse the repository at this point in the history
  13. feat(backup): modify backup volume controller

    Modify backup volume controller to support multiple backup stores
    support. Synchronize and handle the backup volumes information from
    different backup targets with the same backup volume name or not.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    44640b7 View commit details
    Browse the repository at this point in the history
  14. feat(backup): modify backup controller

    Modify backup controller to support multiple backup stores support.
    Synchronize and handle the backup information from different backup
    targets with the same backup volume name or not.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    9fd811d View commit details
    Browse the repository at this point in the history
  15. feat(backup): add backup target label when creating a backup

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    4c5b873 View commit details
    Browse the repository at this point in the history
  16. feat(backup): handle the restoration

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    e6871c9 View commit details
    Browse the repository at this point in the history
  17. feat(backup): handle triggering the backup volume synchronization

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    b5bc525 View commit details
    Browse the repository at this point in the history
  18. feat(backup): recurringjob for multiple backupstores

    Add the method to get the correct BackupVolume with the volume name
    and backup target name for the recurring job and related data
    strucurtes of APIs.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    2e3efff View commit details
    Browse the repository at this point in the history
  19. feat(backup): add backup target APIs

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    1a09fe9 View commit details
    Browse the repository at this point in the history
  20. feat(backup): backup validation

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    098ab3d View commit details
    Browse the repository at this point in the history
  21. feat(backup): modify volume controller unit tests for backup targets

    Add more parameters in creating BackupVolume for testing
    volume_controller.go
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    b334cc6 View commit details
    Browse the repository at this point in the history
  22. feat(backup): modify getting BackupVolume for csi backup

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    a6ae669 View commit details
    Browse the repository at this point in the history
  23. feat(backup): modify controllers related to backup backing image

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    899027b View commit details
    Browse the repository at this point in the history
  24. feat(backup): modify backing image data source controller

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    77d168e View commit details
    Browse the repository at this point in the history
  25. feat(backup): add backup target name when mutating BackingImage for t…

    …he restoring type
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    b2d6dd4 View commit details
    Browse the repository at this point in the history
  26. feat(backup): modify system backup controller

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    9da567f View commit details
    Browse the repository at this point in the history
  27. feat(backup): upgrade CRs for multiple backup store

    Upgrade CRs for Volume, BackupVolume, Backup, BackupBackingImage,
    and BackingImageDataSource.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    342ff48 View commit details
    Browse the repository at this point in the history
  28. feat(backup): add websocket for backup targets

    Ref: 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    3d7bea1 View commit details
    Browse the repository at this point in the history
  29. feat(backup): update k8s/crds.yaml

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    dd4f291 View commit details
    Browse the repository at this point in the history