mirror of
https://github.com/containers/podman.git
synced 2025-12-08 06:39:05 +08:00
Vendor in containers/(storage,image, common, buildah)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
54
vendor/github.com/containers/image/v5/internal/imagesource/impl/compat.go
generated
vendored
Normal file
54
vendor/github.com/containers/image/v5/internal/imagesource/impl/compat.go
generated
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
package impl
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/containers/image/v5/internal/private"
|
||||
"github.com/containers/image/v5/internal/signature"
|
||||
"github.com/opencontainers/go-digest"
|
||||
)
|
||||
|
||||
// Compat implements the obsolete parts of types.ImageSource
|
||||
// for implementations of private.ImageSource.
|
||||
// See AddCompat below.
|
||||
type Compat struct {
|
||||
src private.ImageSourceInternalOnly
|
||||
}
|
||||
|
||||
// AddCompat initializes Compat to implement the obsolete parts of types.ImageSource
|
||||
// for implementations of private.ImageSource.
|
||||
//
|
||||
// Use it like this:
|
||||
// type yourSource struct {
|
||||
// impl.Compat
|
||||
// …
|
||||
// }
|
||||
// src := &yourSource{…}
|
||||
// src.Compat = impl.AddCompat(src)
|
||||
//
|
||||
func AddCompat(src private.ImageSourceInternalOnly) Compat {
|
||||
return Compat{src}
|
||||
}
|
||||
|
||||
// GetSignatures returns the image's signatures. It may use a remote (= slow) service.
|
||||
// If instanceDigest is not nil, it contains a digest of the specific manifest instance to retrieve signatures for
|
||||
// (when the primary manifest is a manifest list); this never happens if the primary manifest is not a manifest list
|
||||
// (e.g. if the source never returns manifest lists).
|
||||
func (c *Compat) GetSignatures(ctx context.Context, instanceDigest *digest.Digest) ([][]byte, error) {
|
||||
// Silently ignore signatures with other formats; the caller can’t handle them.
|
||||
// Admittedly callers that want to sync all of the image might want to fail instead; this
|
||||
// way an upgrade of c/image neither breaks them nor adds new functionality.
|
||||
// Alternatively, we could possibly define the old GetSignatures to use the multi-format
|
||||
// signature.Blob representation now, in general, but that could silently break them as well.
|
||||
sigs, err := c.src.GetSignaturesWithFormat(ctx, instanceDigest)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
simpleSigs := [][]byte{}
|
||||
for _, sig := range sigs {
|
||||
if sig, ok := sig.(signature.SimpleSigning); ok {
|
||||
simpleSigs = append(simpleSigs, sig.UntrustedSignature())
|
||||
}
|
||||
}
|
||||
return simpleSigs, nil
|
||||
}
|
||||
23
vendor/github.com/containers/image/v5/internal/imagesource/impl/layer_infos.go
generated
vendored
Normal file
23
vendor/github.com/containers/image/v5/internal/imagesource/impl/layer_infos.go
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
package impl
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/containers/image/v5/types"
|
||||
"github.com/opencontainers/go-digest"
|
||||
)
|
||||
|
||||
// DoesNotAffectLayerInfosForCopy implements LayerInfosForCopy() that returns nothing.
|
||||
type DoesNotAffectLayerInfosForCopy struct{}
|
||||
|
||||
// LayerInfosForCopy returns either nil (meaning the values in the manifest are fine), or updated values for the layer
|
||||
// blobsums that are listed in the image's manifest. If values are returned, they should be used when using GetBlob()
|
||||
// to read the image's layers.
|
||||
// If instanceDigest is not nil, it contains a digest of the specific manifest instance to retrieve BlobInfos for
|
||||
// (when the primary manifest is a manifest list); this never happens if the primary manifest is not a manifest list
|
||||
// (e.g. if the source never returns manifest lists).
|
||||
// The Digest field is guaranteed to be provided; Size may be -1.
|
||||
// WARNING: The list may contain duplicates, and they are semantically relevant.
|
||||
func (stub DoesNotAffectLayerInfosForCopy) LayerInfosForCopy(ctx context.Context, instanceDigest *digest.Digest) ([]types.BlobInfo, error) {
|
||||
return nil, nil
|
||||
}
|
||||
27
vendor/github.com/containers/image/v5/internal/imagesource/impl/properties.go
generated
vendored
Normal file
27
vendor/github.com/containers/image/v5/internal/imagesource/impl/properties.go
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
package impl
|
||||
|
||||
// Properties collects properties of an ImageSource that are constant throughout its lifetime
|
||||
// (but might differ across instances).
|
||||
type Properties struct {
|
||||
// HasThreadSafeGetBlob indicates whether GetBlob can be executed concurrently.
|
||||
HasThreadSafeGetBlob bool
|
||||
}
|
||||
|
||||
// PropertyMethodsInitialize implements parts of private.ImageSource corresponding to Properties.
|
||||
type PropertyMethodsInitialize struct {
|
||||
// We need two separate structs, PropertyMethodsInitialize and Properties, because Go prohibits fields and methods with the same name.
|
||||
|
||||
vals Properties
|
||||
}
|
||||
|
||||
// PropertyMethods creates an PropertyMethodsInitialize for vals.
|
||||
func PropertyMethods(vals Properties) PropertyMethodsInitialize {
|
||||
return PropertyMethodsInitialize{
|
||||
vals: vals,
|
||||
}
|
||||
}
|
||||
|
||||
// HasThreadSafeGetBlob indicates whether GetBlob can be executed concurrently.
|
||||
func (o PropertyMethodsInitialize) HasThreadSafeGetBlob() bool {
|
||||
return o.vals.HasThreadSafeGetBlob
|
||||
}
|
||||
19
vendor/github.com/containers/image/v5/internal/imagesource/impl/signatures.go
generated
vendored
Normal file
19
vendor/github.com/containers/image/v5/internal/imagesource/impl/signatures.go
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
package impl
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/containers/image/v5/internal/signature"
|
||||
"github.com/opencontainers/go-digest"
|
||||
)
|
||||
|
||||
// NoSignatures implements GetSignatures() that returns nothing.
|
||||
type NoSignatures struct{}
|
||||
|
||||
// GetSignaturesWithFormat returns the image's signatures. It may use a remote (= slow) service.
|
||||
// If instanceDigest is not nil, it contains a digest of the specific manifest instance to retrieve signatures for
|
||||
// (when the primary manifest is a manifest list); this never happens if the primary manifest is not a manifest list
|
||||
// (e.g. if the source never returns manifest lists).
|
||||
func (stub NoSignatures) GetSignaturesWithFormat(ctx context.Context, instanceDigest *digest.Digest) ([]signature.Signature, error) {
|
||||
return nil, nil
|
||||
}
|
||||
Reference in New Issue
Block a user