diff --git a/internal/client/repository_test.go b/internal/client/repository_test.go index 2135121f3..8ca7ac210 100644 --- a/internal/client/repository_test.go +++ b/internal/client/repository_test.go @@ -18,11 +18,11 @@ import ( "github.com/distribution/distribution/v3" "github.com/distribution/distribution/v3/internal/dcontext" + "github.com/distribution/distribution/v3/internal/uuid" "github.com/distribution/distribution/v3/manifest/ocischema" "github.com/distribution/distribution/v3/registry/api/errcode" "github.com/distribution/distribution/v3/testutil" "github.com/distribution/reference" - "github.com/google/uuid" "github.com/opencontainers/go-digest" "github.com/opencontainers/image-spec/specs-go" v1 "github.com/opencontainers/image-spec/specs-go/v1" diff --git a/internal/dcontext/context.go b/internal/dcontext/context.go index fe8379800..81f67b50a 100644 --- a/internal/dcontext/context.go +++ b/internal/dcontext/context.go @@ -4,7 +4,7 @@ import ( "context" "sync" - "github.com/google/uuid" + "github.com/distribution/distribution/v3/internal/uuid" ) // instanceContext is a context that provides only an instance id. It is diff --git a/internal/dcontext/http.go b/internal/dcontext/http.go index 84d5b4744..34956b3f9 100644 --- a/internal/dcontext/http.go +++ b/internal/dcontext/http.go @@ -9,7 +9,7 @@ import ( "time" "github.com/distribution/distribution/v3/internal/requestutil" - "github.com/google/uuid" + "github.com/distribution/distribution/v3/internal/uuid" "github.com/gorilla/mux" ) diff --git a/internal/dcontext/trace.go b/internal/dcontext/trace.go index ba2481053..1ba764531 100644 --- a/internal/dcontext/trace.go +++ b/internal/dcontext/trace.go @@ -5,7 +5,7 @@ import ( "runtime" "time" - "github.com/google/uuid" + "github.com/distribution/distribution/v3/internal/uuid" ) // WithTrace allocates a traced timing span in a new context. This allows a diff --git a/internal/uuid/uuid.go b/internal/uuid/uuid.go new file mode 100644 index 000000000..1bc9e66aa --- /dev/null +++ b/internal/uuid/uuid.go @@ -0,0 +1,11 @@ +package uuid + +import ( + "github.com/google/uuid" +) + +// Returns a new V7 UUID string. V7 UUIDs are time-ordered for better database performance. +// Panics on error to maintain compatibility with google/uuid's NewString() method. +func NewString() string { + return uuid.Must(uuid.NewV7()).String() +} diff --git a/notifications/bridge.go b/notifications/bridge.go index 81b5409cc..3e22bde11 100644 --- a/notifications/bridge.go +++ b/notifications/bridge.go @@ -6,9 +6,9 @@ import ( "github.com/distribution/distribution/v3" "github.com/distribution/distribution/v3/internal/requestutil" + "github.com/distribution/distribution/v3/internal/uuid" "github.com/distribution/reference" events "github.com/docker/go-events" - "github.com/google/uuid" "github.com/opencontainers/go-digest" v1 "github.com/opencontainers/image-spec/specs-go/v1" ) diff --git a/notifications/bridge_test.go b/notifications/bridge_test.go index a864e6490..e00833a83 100644 --- a/notifications/bridge_test.go +++ b/notifications/bridge_test.go @@ -4,11 +4,11 @@ import ( "testing" "github.com/distribution/distribution/v3" + "github.com/distribution/distribution/v3/internal/uuid" "github.com/distribution/distribution/v3/manifest/schema2" v2 "github.com/distribution/distribution/v3/registry/api/v2" "github.com/distribution/reference" events "github.com/docker/go-events" - "github.com/google/uuid" "github.com/opencontainers/go-digest" "github.com/opencontainers/image-spec/specs-go" v1 "github.com/opencontainers/image-spec/specs-go/v1" diff --git a/registry/storage/driver/filesystem/driver.go b/registry/storage/driver/filesystem/driver.go index 6d1c15e6e..f3dd447fe 100644 --- a/registry/storage/driver/filesystem/driver.go +++ b/registry/storage/driver/filesystem/driver.go @@ -12,10 +12,10 @@ import ( "path" "time" + "github.com/distribution/distribution/v3/internal/uuid" storagedriver "github.com/distribution/distribution/v3/registry/storage/driver" "github.com/distribution/distribution/v3/registry/storage/driver/base" "github.com/distribution/distribution/v3/registry/storage/driver/factory" - "github.com/google/uuid" ) const ( diff --git a/registry/storage/linkedblobstore.go b/registry/storage/linkedblobstore.go index fc5e98c7a..e5f5b32e4 100644 --- a/registry/storage/linkedblobstore.go +++ b/registry/storage/linkedblobstore.go @@ -10,9 +10,9 @@ import ( "github.com/distribution/distribution/v3" "github.com/distribution/distribution/v3/internal/dcontext" + "github.com/distribution/distribution/v3/internal/uuid" "github.com/distribution/distribution/v3/registry/storage/driver" "github.com/distribution/reference" - "github.com/google/uuid" "github.com/opencontainers/go-digest" v1 "github.com/opencontainers/image-spec/specs-go/v1" ) diff --git a/registry/storage/purgeuploads_test.go b/registry/storage/purgeuploads_test.go index f9a9f7954..67b4047be 100644 --- a/registry/storage/purgeuploads_test.go +++ b/registry/storage/purgeuploads_test.go @@ -7,9 +7,9 @@ import ( "testing" "time" + "github.com/distribution/distribution/v3/internal/uuid" "github.com/distribution/distribution/v3/registry/storage/driver" "github.com/distribution/distribution/v3/registry/storage/driver/inmemory" - "github.com/google/uuid" ) func testUploadFS(t *testing.T, numUploads int, repoName string, startedAt time.Time) (driver.StorageDriver, context.Context) {