Documentation
¶
Index ¶
Constants ¶
const (
// MediaTypeManifestList specifies the mediaType for manifest lists.
MediaTypeManifestList = "application/vnd.docker.distribution.manifest.list.v2+json"
)
Variables ¶
var OCISchemaVersion = manifest.Versioned{ SchemaVersion: 2, MediaType: v1.MediaTypeImageIndex, }
OCISchemaVersion provides a pre-initialized version structure for this packages OCIschema version of the manifest.
var SchemaVersion = manifest.Versioned{ SchemaVersion: 2, MediaType: MediaTypeManifestList, }
SchemaVersion provides a pre-initialized version structure for this packages version of the manifest.
Functions ¶
This section is empty.
Types ¶
type DeserializedManifestList ¶
type DeserializedManifestList struct {
ManifestList
// contains filtered or unexported fields
}
DeserializedManifestList wraps ManifestList with a copy of the original JSON.
func FromDescriptors ¶
func FromDescriptors(descriptors []ManifestDescriptor) (*DeserializedManifestList, error)
FromDescriptors takes a slice of descriptors, and returns a DeserializedManifestList which contains the resulting manifest list and its JSON representation.
func FromDescriptorsWithMediaType ¶
func FromDescriptorsWithMediaType(descriptors []ManifestDescriptor, mediaType string) (*DeserializedManifestList, error)
FromDescriptorsWithMediaType is for testing purposes, it's useful to be able to specify the media type explicitly
func (*DeserializedManifestList) MarshalJSON ¶
func (m *DeserializedManifestList) MarshalJSON() ([]byte, error)
MarshalJSON returns the contents of canonical. If canonical is empty, marshals the inner contents.
func (DeserializedManifestList) Payload ¶
func (m DeserializedManifestList) Payload() (string, []byte, error)
Payload returns the raw content of the manifest list. The contents can be used to calculate the content identifier.
func (*DeserializedManifestList) UnmarshalJSON ¶
func (m *DeserializedManifestList) UnmarshalJSON(b []byte) error
UnmarshalJSON populates a new ManifestList struct from JSON data.
type ManifestDescriptor ¶
type ManifestDescriptor struct {
distribution.Descriptor
// Platform specifies which platform the manifest pointed to by the
// descriptor runs on.
Platform PlatformSpec `json:"platform"`
}
A ManifestDescriptor references a platform-specific manifest.
type ManifestList ¶
type ManifestList struct {
manifest.Versioned
// Config references the image configuration as a blob.
Manifests []ManifestDescriptor `json:"manifests"`
}
ManifestList references manifests for various platforms.
func (ManifestList) References ¶
func (m ManifestList) References() []distribution.Descriptor
References returns the distribution descriptors for the referenced image manifests.
type PlatformSpec ¶
type PlatformSpec struct {
// Architecture field specifies the CPU architecture, for example
// `amd64` or `ppc64`.
Architecture string `json:"architecture"`
// OS specifies the operating system, for example `linux` or `windows`.
OS string `json:"os"`
// OSVersion is an optional field specifying the operating system
// version, for example `10.0.10586`.
OSVersion string `json:"os.version,omitempty"`
// OSFeatures is an optional field specifying an array of strings,
// each listing a required OS feature (for example on Windows `win32k`).
OSFeatures []string `json:"os.features,omitempty"`
// Variant is an optional field specifying a variant of the CPU, for
// example `ppc64le` to specify a little-endian version of a PowerPC CPU.
Variant string `json:"variant,omitempty"`
// Features is an optional field specifying an array of strings, each
// listing a required CPU feature (for example `sse4` or `aes`).
Features []string `json:"features,omitempty"`
}
PlatformSpec specifies a platform where a particular image manifest is applicable.