var ( // SchemaVersion provides a pre-initialized version structure for this // packages version of the manifest. SchemaVersion = manifest.Versioned{ SchemaVersion: 2, MediaType: v1.MediaTypeImageManifest, } )
func NewManifestBuilder(bs distribution.BlobService, configJSON []byte, annotations map[string]string) 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, and annotations.
Builder is a type for constructing manifests.
type Builder struct {
// contains filtered or unexported fields
}
func (mb *Builder) AppendReference(d distribution.Describable) error
AppendReference adds a reference to the current ManifestBuilder.
func (mb *Builder) Build(ctx context.Context) (distribution.Manifest, error)
Build produces a final manifest from the given references.
func (mb *Builder) References() []distribution.Descriptor
References returns the current references added to this builder.
func (mb *Builder) SetMediaType(mediaType string) error
SetMediaType assigns the passed mediatype or error if the mediatype is not a valid media type for oci image manifests currently: "" or "application/vnd.oci.image.manifest.v1+json"
DeserializedManifest wraps Manifest with a copy of the original JSON. It satisfies the distribution.Manifest interface.
type DeserializedManifest struct { Manifest // contains filtered or unexported fields }
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 (m *DeserializedManifest) MarshalJSON() ([]byte, error)
MarshalJSON returns the contents of canonical. If canonical is empty, marshals the inner contents.
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 (m *DeserializedManifest) UnmarshalJSON(b []byte) error
UnmarshalJSON populates a new Manifest struct from JSON data.
Manifest defines a ocischema 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"` // Annotations contains arbitrary metadata for the image manifest. Annotations map[string]string `json:"annotations,omitempty"` }
func (m Manifest) References() []distribution.Descriptor
References returns the descriptors of this manifests references.
func (m Manifest) Target() distribution.Descriptor
Target returns the target of this manifest.