Documentation ¶
Index ¶
Constants ¶
const ( // MediaTypeManifest specifies the mediaType for the current version. MediaTypeManifest = "application/vnd.docker.distribution.manifest.v2+json" // MediaTypeImageConfig specifies the mediaType for the image configuration. MediaTypeImageConfig = "application/vnd.docker.container.image.v1+json" // MediaTypePluginConfig specifies the mediaType for plugin configuration. MediaTypePluginConfig = "application/vnd.docker.plugin.v1+json" // MediaTypeLayer is the mediaType used for layers referenced by the // manifest. MediaTypeLayer = "application/vnd.docker.image.rootfs.diff.tar.gzip" // MediaTypeForeignLayer is the mediaType used for layers that must be // downloaded from foreign URLs. MediaTypeForeignLayer = "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip" // MediaTypeUncompressedLayer is the mediaType used for layers which // are not compressed. MediaTypeUncompressedLayer = "application/vnd.docker.image.rootfs.diff.tar" )
Variables ¶
var ( // SchemaVersion provides a pre-initialized version structure for this // packages version of the manifest. SchemaVersion = manifest.Versioned{ SchemaVersion: 2, MediaType: MediaTypeManifest, } )
Functions ¶
func NewManifestBuilder ¶
func NewManifestBuilder(bs distribution.BlobService, configMediaType string, configJSON []byte) distribution.ManifestBuilder
NewManifestBuilder is used to build new manifests for the current schema version. It takes a BlobService so it can publish the configuration blob as part of the Build process.
Types ¶
type DeserializedManifest ¶
type DeserializedManifest struct { Manifest // contains filtered or unexported fields }
DeserializedManifest wraps Manifest with a copy of the original JSON. It satisfies the distribution.Manifest interface.
func FromStruct ¶
func FromStruct(m Manifest) (*DeserializedManifest, error)
FromStruct takes a Manifest structure, marshals it to JSON, and returns a DeserializedManifest which contains the manifest and its JSON representation.
func (*DeserializedManifest) MarshalJSON ¶
func (m *DeserializedManifest) MarshalJSON() ([]byte, error)
MarshalJSON returns the contents of canonical. If canonical is empty, marshals the inner contents.
func (DeserializedManifest) Payload ¶
func (m DeserializedManifest) Payload() (string, []byte, error)
Payload returns the raw content of the manifest. The contents can be used to calculate the content identifier.
func (*DeserializedManifest) UnmarshalJSON ¶
func (m *DeserializedManifest) UnmarshalJSON(b []byte) error
UnmarshalJSON populates a new Manifest struct from JSON data.
type Manifest ¶
type Manifest struct { manifest.Versioned // Config references the image configuration as a blob. Config distribution.Descriptor `json:"config"` // Layers lists descriptors for the layers referenced by the // configuration. Layers []distribution.Descriptor `json:"layers"` }
Manifest defines a schema2 manifest.
func (Manifest) References ¶
func (m Manifest) References() []distribution.Descriptor
References returns the descriptors of this manifests references.