forked from TrueCloudLab/distribution
parent
7b47fb13cf
commit
ad7ab0853c
5 changed files with 14 additions and 12 deletions
|
@ -1,8 +1,9 @@
|
||||||
package ocischema
|
package ocischema
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
"github.com/docker/distribution"
|
"github.com/docker/distribution"
|
||||||
"github.com/docker/distribution/context"
|
|
||||||
"github.com/opencontainers/go-digest"
|
"github.com/opencontainers/go-digest"
|
||||||
"github.com/opencontainers/image-spec/specs-go/v1"
|
"github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package ocischema
|
package ocischema
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/docker/distribution"
|
"github.com/docker/distribution"
|
||||||
"github.com/docker/distribution/context"
|
|
||||||
"github.com/opencontainers/go-digest"
|
"github.com/opencontainers/go-digest"
|
||||||
"github.com/opencontainers/image-spec/specs-go/v1"
|
"github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
)
|
)
|
||||||
|
|
|
@ -181,7 +181,7 @@ func (imh *manifestHandler) GetManifest(w http.ResponseWriter, r *http.Request)
|
||||||
// matching the digest.
|
// matching the digest.
|
||||||
if imh.Tag != "" && manifestType == manifestSchema2 && !supports[manifestSchema2] {
|
if imh.Tag != "" && manifestType == manifestSchema2 && !supports[manifestSchema2] {
|
||||||
// Rewrite manifest in schema1 format
|
// Rewrite manifest in schema1 format
|
||||||
ctxu.GetLogger(imh).Infof("rewriting manifest %s in schema1 format to support old client", imh.Digest.String())
|
dcontext.GetLogger(imh).Infof("rewriting manifest %s in schema1 format to support old client", imh.Digest.String())
|
||||||
|
|
||||||
manifest, err = imh.convertSchema2Manifest(schema2Manifest)
|
manifest, err = imh.convertSchema2Manifest(schema2Manifest)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -189,7 +189,7 @@ func (imh *manifestHandler) GetManifest(w http.ResponseWriter, r *http.Request)
|
||||||
}
|
}
|
||||||
} else if imh.Tag != "" && manifestType == manifestlistSchema && !supports[manifestlistSchema] {
|
} else if imh.Tag != "" && manifestType == manifestlistSchema && !supports[manifestlistSchema] {
|
||||||
// Rewrite manifest in schema1 format
|
// Rewrite manifest in schema1 format
|
||||||
ctxu.GetLogger(imh).Infof("rewriting manifest list %s in schema1 format to support old client", imh.Digest.String())
|
dcontext.GetLogger(imh).Infof("rewriting manifest list %s in schema1 format to support old client", imh.Digest.String())
|
||||||
|
|
||||||
// Find the image manifest corresponding to the default
|
// Find the image manifest corresponding to the default
|
||||||
// platform
|
// platform
|
||||||
|
@ -327,9 +327,9 @@ func (imh *manifestHandler) PutManifest(w http.ResponseWriter, r *http.Request)
|
||||||
isAnOCIManifest := mediaType == v1.MediaTypeImageManifest || mediaType == v1.MediaTypeImageIndex
|
isAnOCIManifest := mediaType == v1.MediaTypeImageManifest || mediaType == v1.MediaTypeImageIndex
|
||||||
|
|
||||||
if isAnOCIManifest {
|
if isAnOCIManifest {
|
||||||
ctxu.GetLogger(imh).Debug("Putting an OCI Manifest!")
|
dcontext.GetLogger(imh).Debug("Putting an OCI Manifest!")
|
||||||
} else {
|
} else {
|
||||||
ctxu.GetLogger(imh).Debug("Putting a Docker Manifest!")
|
dcontext.GetLogger(imh).Debug("Putting a Docker Manifest!")
|
||||||
}
|
}
|
||||||
|
|
||||||
var options []distribution.ManifestServiceOption
|
var options []distribution.ManifestServiceOption
|
||||||
|
@ -410,7 +410,7 @@ func (imh *manifestHandler) PutManifest(w http.ResponseWriter, r *http.Request)
|
||||||
w.Header().Set("Docker-Content-Digest", imh.Digest.String())
|
w.Header().Set("Docker-Content-Digest", imh.Digest.String())
|
||||||
w.WriteHeader(http.StatusCreated)
|
w.WriteHeader(http.StatusCreated)
|
||||||
|
|
||||||
ctxu.GetLogger(imh).Debug("Succeeded in putting manifest!")
|
dcontext.GetLogger(imh).Debug("Succeeded in putting manifest!")
|
||||||
}
|
}
|
||||||
|
|
||||||
// applyResourcePolicy checks whether the resource class matches what has
|
// applyResourcePolicy checks whether the resource class matches what has
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package storage
|
package storage
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
"github.com/docker/distribution"
|
"github.com/docker/distribution"
|
||||||
"github.com/docker/distribution/context"
|
dcontext "github.com/docker/distribution/context"
|
||||||
"github.com/docker/distribution/manifest/ocischema"
|
"github.com/docker/distribution/manifest/ocischema"
|
||||||
"github.com/opencontainers/go-digest"
|
"github.com/opencontainers/go-digest"
|
||||||
"github.com/opencontainers/image-spec/specs-go/v1"
|
"github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
|
@ -23,7 +24,7 @@ type ocischemaManifestHandler struct {
|
||||||
var _ ManifestHandler = &ocischemaManifestHandler{}
|
var _ ManifestHandler = &ocischemaManifestHandler{}
|
||||||
|
|
||||||
func (ms *ocischemaManifestHandler) Unmarshal(ctx context.Context, dgst digest.Digest, content []byte) (distribution.Manifest, error) {
|
func (ms *ocischemaManifestHandler) Unmarshal(ctx context.Context, dgst digest.Digest, content []byte) (distribution.Manifest, error) {
|
||||||
context.GetLogger(ms.ctx).Debug("(*ocischemaManifestHandler).Unmarshal")
|
dcontext.GetLogger(ms.ctx).Debug("(*ocischemaManifestHandler).Unmarshal")
|
||||||
|
|
||||||
var m ocischema.DeserializedManifest
|
var m ocischema.DeserializedManifest
|
||||||
if err := json.Unmarshal(content, &m); err != nil {
|
if err := json.Unmarshal(content, &m); err != nil {
|
||||||
|
@ -34,7 +35,7 @@ func (ms *ocischemaManifestHandler) Unmarshal(ctx context.Context, dgst digest.D
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ms *ocischemaManifestHandler) Put(ctx context.Context, manifest distribution.Manifest, skipDependencyVerification bool) (digest.Digest, error) {
|
func (ms *ocischemaManifestHandler) Put(ctx context.Context, manifest distribution.Manifest, skipDependencyVerification bool) (digest.Digest, error) {
|
||||||
context.GetLogger(ms.ctx).Debug("(*ocischemaManifestHandler).Put")
|
dcontext.GetLogger(ms.ctx).Debug("(*ocischemaManifestHandler).Put")
|
||||||
|
|
||||||
m, ok := manifest.(*ocischema.DeserializedManifest)
|
m, ok := manifest.(*ocischema.DeserializedManifest)
|
||||||
if !ok {
|
if !ok {
|
||||||
|
@ -52,7 +53,7 @@ func (ms *ocischemaManifestHandler) Put(ctx context.Context, manifest distributi
|
||||||
|
|
||||||
revision, err := ms.blobStore.Put(ctx, mt, payload)
|
revision, err := ms.blobStore.Put(ctx, mt, payload)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
context.GetLogger(ctx).Errorf("error putting payload into blobstore: %v", err)
|
dcontext.GetLogger(ctx).Errorf("error putting payload into blobstore: %v", err)
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package storage
|
package storage
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"regexp"
|
"regexp"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/docker/distribution"
|
"github.com/docker/distribution"
|
||||||
"github.com/docker/distribution/context"
|
|
||||||
"github.com/docker/distribution/manifest"
|
"github.com/docker/distribution/manifest"
|
||||||
"github.com/docker/distribution/manifest/ocischema"
|
"github.com/docker/distribution/manifest/ocischema"
|
||||||
"github.com/docker/distribution/registry/storage/driver/inmemory"
|
"github.com/docker/distribution/registry/storage/driver/inmemory"
|
||||||
|
|
Loading…
Reference in a new issue