Skip to content

Latest commit

 

History

History
45 lines (31 loc) · 1.71 KB

MIGRATION_GUIDE.md

File metadata and controls

45 lines (31 loc) · 1.71 KB

Migration Guide

In version v2, ORAS Go library has been completely refreshed with:

  • More unified interfaces
  • Notably fewer dependencies
  • Higher test coverage
  • Better documentation

Besides, ORAS Go v2 is now a registry client.

Major Changes in v2

  • Moves content.FileStore to file.Store
  • Moves content.OCIStore to oci.Store
  • Moves content.MemoryStore to memory.Store
  • Provides SDK to interact with OCI-compliant and Docker-compliant registries
  • Supports Copy with more flexible options
  • Supports Extended Copy with options (experimental)
  • No longer supports docker.Login and docker.Logout (removes the dependency on docker); instead, provides authentication through auth.Client

Documentation and examples are available at pkg.go.dev.

Migrating from v1 to v2

  1. Get the v2 package

    go get oras.land/oras-go/v2
  2. Import and use the v2 package

    import "oras.land/oras-go/v2"
  3. Run

    go mod tidy

Since breaking changes are introduced in v2, code refactoring is required for migrating from v1 to v2.
The migration can be done in an iterative fashion, as v1 and v2 can be imported and used at the same time.