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 30 commits into
base: master
Choose a base branch
from

Commits on Oct 30, 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    81b406e 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    acd50aa View commit details
    Browse the repository at this point in the history
  3. feat(backup): new field of BackupTarget CRD

    Introduce a new field `ReadOnly` in `Status` of BackupTarget CRD
    to support multiple backup targets.
    
    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    a07a302 View commit details
    Browse the repository at this point in the history
  4. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    20b0856 View commit details
    Browse the repository at this point in the history
  5. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    f37caff View commit details
    Browse the repository at this point in the history
  6. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    5dfebd2 View commit details
    Browse the repository at this point in the history
  7. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    dab50a4 View commit details
    Browse the repository at this point in the history
  8. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    44c2241 View commit details
    Browse the repository at this point in the history
  9. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    c9ad360 View commit details
    Browse the repository at this point in the history
  10. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    32bfa63 View commit details
    Browse the repository at this point in the history
  11. feat(backup): add backup target validator

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    92abea1 View commit details
    Browse the repository at this point in the history
  12. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    6a49632 View commit details
    Browse the repository at this point in the history
  13. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    1d35163 View commit details
    Browse the repository at this point in the history
  14. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    abaa6d0 View commit details
    Browse the repository at this point in the history
  15. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    559c31e View commit details
    Browse the repository at this point in the history
  16. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    5b53968 View commit details
    Browse the repository at this point in the history
  17. feat(backup): handle the restoration

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

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    2770fcf View commit details
    Browse the repository at this point in the history
  19. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    3863ecf View commit details
    Browse the repository at this point in the history
  20. feat(backup): add backup target APIs

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

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    6036180 View commit details
    Browse the repository at this point in the history
  22. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    ffab803 View commit details
    Browse the repository at this point in the history
  23. feat(backup): modify getting BackupVolume for csi backup

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

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

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    789bf78 View commit details
    Browse the repository at this point in the history
  26. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    4a9652c View commit details
    Browse the repository at this point in the history
  27. feat(backup): modify system backup controller

    ref: longhorn/longhorn 5411
    
    Signed-off-by: James Lu <james.lu@suse.com>
    mantissahz committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    ef8e0b3 View commit details
    Browse the repository at this point in the history
  28. 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 Oct 30, 2024
    Configuration menu
    Copy the full SHA
    1cf1bda View commit details
    Browse the repository at this point in the history
  29. feat(backup): add websocket for backup targets

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

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