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

Add Bucket Lock immutable object support for Google Cloud Storage. #776

Merged
merged 15 commits into from
Sep 30, 2024

Commits on Sep 10, 2024

  1. Implement handling of immutable snapshots in etcd backup restore

    - Added `RetentionExpiry` field to Snapshot struct to store retention expiry time.
    - Added `IsDeletable` method to `Snapshot` struct to determine if a snapshot is deletable based on `RetentionExpiry`.
    - Introduced `ExcludeSnapshotMetadataKey` constant for marking snapshots to be ignored.
    - Modified garbage collection logic to skip immutable snapshots.
    - Updated GCS snapstore list function to exclude objects with `x-etcd-snapshot-exclude` metadata.
    seshachalam-yv authored and renormalize committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    dab519d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    46c9d69 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8eb63e1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8d7acb3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7c097f3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d7be197 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3545d03 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. Defined an interface which mock snapstores should implement to emulat…

    …e tagged snapshots' behavior.
    renormalize committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    f40496b View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. Remove hardcoding of tags in mock GCS tag implementation.

    * Remove hardcoding of tags in mock GCS tag implementation.
    
    * Rename the `tagI` interface to `tagger`.
    
    * Rename the methods of the `tagger` interface to plural since they
      operate on all tags of the snapshot.
    renormalize committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    5675306 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. Configuration menu
    Copy the full SHA
    cc64835 View commit details
    Browse the repository at this point in the history
  2. Fix log strings, enhance List method comment, remove hardcoding.

    * Logs for skipping GC with immutable objects mention "immutability period"
      and not "retention period" since retention period as a phrase is already
      used for delta snapshot retention.
    
    * Enhance `ExcludeSnapshotMetadataKey` and `List` method comments.
    
    * Eliminate the potential for a flaky test in snapshot_test.go
      where later expiry time is only set to a nanosecond after the
      creation time instead of a microsecond. The test could flake if the
      test gets run within a microsecond.
    
    * Removed one hardcoding of a string from the proposed changed, and
      quite a bit of hardcoding in the existing codebase in snapstore_test.go
    renormalize committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    b78df58 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. Rename RetentionExpiry to ImmutabilityExpiryTime

    * This rename makes the distinction clearer between retention expiry
      which is used for delta snapshots typically, and the immutability
      expiry time of a snapshot.
    renormalize committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    a6680d4 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. Configuration menu
    Copy the full SHA
    f227198 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. Configuration menu
    Copy the full SHA
    c0ea11f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    040b232 View commit details
    Browse the repository at this point in the history