package schema2

import "github.com/docker/distribution/manifest/schema2"

Index

Constants

const (
	// MediaTypeManifest specifies the mediaType for the current version.
	MediaTypeManifest = "application/vnd.docker.distribution.manifest.v2+json"

	// MediaTypeConfig specifies the mediaType for the image configuration.
	MediaTypeConfig = "application/vnd.docker.container.image.v1+json"

	// MediaTypeLayer is the mediaType used for layers referenced by the
	// manifest.
	MediaTypeLayer = "application/vnd.docker.image.rootfs.diff.tar.gzip"
)

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, 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 returnes the descriptors of this manifests references.

func (Manifest) Target

func (m Manifest) Target() distribution.Descriptor

Target returns the target of this signed manifest.

Source Files

builder.go manifest.go

Version
v2.4.1+incompatible
Published
May 10, 2016
Platform
js/wasm
Imports
7 packages
Last checked
10 hours ago

Tools for package owners.