diff --git a/src/internal/kopia/wrapper.go b/src/internal/kopia/wrapper.go index 592fcbdf6..b569d9779 100644 --- a/src/internal/kopia/wrapper.go +++ b/src/internal/kopia/wrapper.go @@ -34,6 +34,8 @@ import ( "github.com/alcionai/corso/src/pkg/store" ) +const defaultCorsoPin = "corso" + // common manifest tags const ( TagBackupID = "backup-id" @@ -392,6 +394,10 @@ func (w Wrapper) makeSnapshotWithRoot( } man.Tags = tags + // Add one pin to keep kopia's retention policy from collecting it if it + // ends up enabled for some reason. The value in the pin doesn't matter. + // We don't need to remove any pins. + man.UpdatePins(append(man.Pins, defaultCorsoPin), nil) if _, err := snapshot.SaveSnapshot(innerCtx, rw, man); err != nil { err = clues.WrapWC(ctx, err, "saving snapshot") diff --git a/src/internal/kopia/wrapper_test.go b/src/internal/kopia/wrapper_test.go index 922305f89..32591e2f5 100644 --- a/src/internal/kopia/wrapper_test.go +++ b/src/internal/kopia/wrapper_test.go @@ -1151,6 +1151,8 @@ func (suite *KopiaIntegrationSuite) TestBackupCollections() { manifest.ID(stats.SnapshotID)) require.NoError(t, err, clues.ToCore(err)) + assert.Contains(t, snap.Pins, defaultCorsoPin) + man = snap })