image

package
v1.54.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2026 License: Apache-2.0 Imports: 5 Imported by: 101

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AttestationProperties

type AttestationProperties struct {
	// For is the digest of the image manifest that this attestation is for.
	For digest.Digest `json:"For"`
}

type BuildIdentity added in v1.53.0

type BuildIdentity struct {
	// Ref is the identifier for the build request. This reference can be used to
	// look up the build details in BuildKit history API.
	Ref string `json:"Ref,omitempty"`

	// CreatedAt is the time when the build ran.
	CreatedAt time.Time `json:"CreatedAt,omitempty"`
}

BuildIdentity contains build reference information if image was created via build.

type DeleteResponse

type DeleteResponse struct {

	// The image ID of an image that was deleted
	Deleted string `json:"Deleted,omitempty"`

	// The image ID of an image that was untagged
	Untagged string `json:"Untagged,omitempty"`
}

DeleteResponse delete response

swagger:model DeleteResponse

type DiskUsage

type DiskUsage struct {

	// Count of active images.
	//
	// Example: 1
	ActiveCount int64 `json:"ActiveCount,omitempty"`

	// List of image summaries.
	//
	Items []Summary `json:"Items,omitempty"`

	// Disk space that can be reclaimed by removing unused images.
	//
	// Example: 12345678
	Reclaimable int64 `json:"Reclaimable,omitempty"`

	// Count of all images.
	//
	// Example: 4
	TotalCount int64 `json:"TotalCount,omitempty"`

	// Disk space in use by images.
	//
	// Example: 98765432
	TotalSize int64 `json:"TotalSize,omitempty"`
}

DiskUsage represents system data usage for image resources.

swagger:model DiskUsage

type HistoryResponseItem

type HistoryResponseItem struct {

	// comment
	// Required: true
	Comment string `json:"Comment"`

	// created
	// Required: true
	Created int64 `json:"Created"`

	// created by
	// Required: true
	CreatedBy string `json:"CreatedBy"`

	// Id
	// Required: true
	ID string `json:"Id"`

	// size
	// Required: true
	Size int64 `json:"Size"`

	// tags
	// Required: true
	Tags []string `json:"Tags"`
}

HistoryResponseItem HistoryResponseItem

individual image layer information in response to ImageHistory operation

swagger:model HistoryResponseItem

type Identity added in v1.53.0

type Identity struct {
	// Signature contains the properties of verified signatures for the image.
	Signature []SignatureIdentity `json:"Signature,omitzero"`
	// Pull contains remote location information if image was created via pull.
	// If image was pulled via mirror, this contains the original repository location.
	// After successful push this images also contains the pushed repository location.
	Pull []PullIdentity `json:"Pull,omitzero"`
	// Build contains build reference information if image was created via build.
	Build []BuildIdentity `json:"Build,omitzero"`
}

Identity holds information about the identity and origin of the image. This is trusted information verified by the daemon and cannot be modified by tagging an image to a different name.

type ImageProperties

type ImageProperties struct {
	// Platform is the OCI platform object describing the platform of the image.
	//
	// Required: true
	Platform ocispec.Platform `json:"Platform"`

	// Identity holds information about the identity and origin of the image.
	// For image list responses, this can duplicate Build/Pull fields across
	// image manifests, because those parts of identity are image-level metadata.
	Identity *Identity `json:"Identity,omitempty"`

	Size struct {
		// Unpacked is the size (in bytes) of the locally unpacked
		// (uncompressed) image content that's directly usable by the containers
		// running this image.
		// It's independent of the distributable content - e.g.
		// the image might still have an unpacked data that's still used by
		// some container even when the distributable/compressed content is
		// already gone.
		//
		// Required: true
		Unpacked int64 `json:"Unpacked"`
	}

	// Containers is an array containing the IDs of the containers that are
	// using this image.
	//
	// Required: true
	Containers []string `json:"Containers"`
}

type InspectResponse

type InspectResponse struct {
	// ID is the content-addressable ID of an image.
	//
	// This identifier is a content-addressable digest calculated from the
	// image's configuration (which includes the digests of layers used by
	// the image).
	//
	// Note that this digest differs from the `RepoDigests` below, which
	// holds digests of image manifests that reference the image.
	ID string `json:"Id"`

	// RepoTags is a list of image names/tags in the local image cache that
	// reference this image.
	//
	// Multiple image tags can refer to the same image, and this list may be
	// empty if no tags reference the image, in which case the image is
	// "untagged", in which case it can still be referenced by its ID.
	RepoTags []string

	// RepoDigests is a list of content-addressable digests of locally available
	// image manifests that the image is referenced from. Multiple manifests can
	// refer to the same image.
	//
	// These digests are usually only available if the image was either pulled
	// from a registry, or if the image was pushed to a registry, which is when
	// the manifest is generated and its digest calculated.
	RepoDigests []string

	// Comment is an optional message that can be set when committing or
	// importing the image. This field is omitted if not set.
	Comment string `json:",omitempty"`

	// Created is the date and time at which the image was created, formatted in
	// RFC 3339 nano-seconds (time.RFC3339Nano).
	//
	// This information is only available if present in the image,
	// and omitted otherwise.
	Created string `json:",omitempty"`

	// Author is the name of the author that was specified when committing the
	// image, or as specified through MAINTAINER (deprecated) in the Dockerfile.
	// This field is omitted if not set.
	Author string `json:",omitempty"`
	Config *dockerspec.DockerOCIImageConfig

	// Architecture is the hardware CPU architecture that the image runs on.
	Architecture string

	// Variant is the CPU architecture variant (presently ARM-only).
	Variant string `json:",omitempty"`

	// OS is the Operating System the image is built to run on.
	Os string

	// OsVersion is the version of the Operating System the image is built to
	// run on (especially for Windows).
	OsVersion string `json:",omitempty"`

	// Size is the total size of the image including all layers it is composed of.
	Size int64

	// GraphDriver holds information about the storage driver used to store the
	// container's and image's filesystem.
	GraphDriver *storage.DriverData `json:"GraphDriver,omitempty"`

	// RootFS contains information about the image's RootFS, including the
	// layer IDs.
	RootFS RootFS

	// Metadata of the image in the local cache.
	//
	// This information is local to the daemon, and not part of the image itself.
	Metadata Metadata

	// Descriptor is the OCI descriptor of the image target.
	// It's only set if the daemon provides a multi-platform image store.
	//
	// WARNING: This is experimental and may change at any time without any backward
	// compatibility.
	Descriptor *ocispec.Descriptor `json:"Descriptor,omitempty"`

	// Manifests is a list of image manifests available in this image. It
	// provides a more detailed view of the platform-specific image manifests or
	// other image-attached data like build attestations.
	//
	// Only available if the daemon provides a multi-platform image store, the client
	// requests manifests AND does not request a specific platform.
	//
	// WARNING: This is experimental and may change at any time without any backward
	// compatibility.
	Manifests []ManifestSummary `json:"Manifests,omitempty"`

	// Identity holds information about the identity and origin of the image.
	// This is trusted information verified by the daemon and cannot be modified
	// by tagging an image to a different name.
	Identity *Identity `json:"Identity,omitempty"`
}

InspectResponse contains response of Engine API: GET "/images/{name:.*}/json"

type KnownSignerIdentity added in v1.53.0

type KnownSignerIdentity string

KnownSignerIdentity is an identifier for a special signer identity that is known to the implementation.

const (
	// KnownSignerDHI is the known identity for Docker Hardened Images.
	KnownSignerDHI KnownSignerIdentity = "DHI"
)

type ManifestKind

type ManifestKind string
const (
	ManifestKindImage       ManifestKind = "image"
	ManifestKindAttestation ManifestKind = "attestation"
	ManifestKindUnknown     ManifestKind = "unknown"
)

type ManifestSummary

type ManifestSummary struct {
	// ID is the content-addressable ID of an image and is the same as the
	// digest of the image manifest.
	//
	// Required: true
	ID string `json:"ID"`

	// Descriptor is the OCI descriptor of the image.
	//
	// Required: true
	Descriptor ocispec.Descriptor `json:"Descriptor"`

	// Indicates whether all the child content (image config, layers) is
	// fully available locally
	//
	// Required: true
	Available bool `json:"Available"`

	// Size is the size information of the content related to this manifest.
	// Note: These sizes only take the locally available content into account.
	//
	// Required: true
	Size struct {
		// Content is the size (in bytes) of all the locally present
		// content in the content store (e.g. image config, layers)
		// referenced by this manifest and its children.
		// This only includes blobs in the content store.
		Content int64 `json:"Content"`

		// Total is the total size (in bytes) of all the locally present
		// data (both distributable and non-distributable) that's related to
		// this manifest and its children.
		// This equal to the sum of [Content] size AND all the sizes in the
		// [Size] struct present in the Kind-specific data struct.
		// For example, for an image kind (Kind == ManifestKindImage),
		// this would include the size of the image content and unpacked
		// image snapshots ([Size.Content] + [ImageData.Size.Unpacked]).
		Total int64 `json:"Total"`
	} `json:"Size"`

	// Kind is the kind of the image manifest.
	//
	// Required: true
	Kind ManifestKind `json:"Kind"`

	// Present only if Kind == ManifestKindImage.
	ImageData *ImageProperties `json:"ImageData,omitempty"`

	// Present only if Kind == ManifestKindAttestation.
	AttestationData *AttestationProperties `json:"AttestationData,omitempty"`
}

type Metadata

type Metadata struct {
	// LastTagTime is the date and time at which the image was last tagged.
	LastTagTime time.Time `json:",omitempty"`
}

Metadata contains engine-local data about the image.

type PruneReport

type PruneReport struct {
	ImagesDeleted  []DeleteResponse
	SpaceReclaimed uint64
}

PruneReport contains the response for Engine API: POST "/images/prune"

type PullIdentity added in v1.53.0

type PullIdentity struct {
	// Repository is the remote repository location the image was pulled from.
	Repository string `json:"Repository,omitempty"`
}

PullIdentity contains remote location information if image was created via pull. If image was pulled via mirror, this contains the original repository location.

type RootFS

type RootFS struct {
	Type   string   `json:",omitempty"`
	Layers []string `json:",omitempty"`
}

RootFS returns Image's RootFS description including the layer IDs.

type SignatureIdentity added in v1.53.0

type SignatureIdentity struct {
	// Name is a textual description summarizing the type of signature.
	Name string `json:"Name,omitempty"`
	// Timestamps contains a list of verified signed timestamps for the signature.
	Timestamps []SignatureTimestamp `json:"Timestamps,omitzero"`
	// KnownSigner is an identifier for a special signer identity that is known to the implementation.
	KnownSigner KnownSignerIdentity `json:"KnownSigner,omitempty"`
	// DockerReference is the Docker image reference associated with the signature.
	// This is an optional field only present in older hashedrecord signatures.
	DockerReference string `json:"DockerReference,omitempty"`
	// Signer contains information about the signer certificate used to sign the image.
	Signer *SignerIdentity `json:"Signer,omitempty"`
	// SignatureType is the type of signature format. E.g. "bundle-v0.3" or "hashedrecord".
	SignatureType SignatureType `json:"SignatureType,omitempty"`

	// Error contains error information if signature verification failed.
	// Other fields will be empty in this case.
	Error string `json:"Error,omitempty"`
	// Warnings contains any warnings that occurred during signature verification.
	// For example, if there was no internet connectivity and cached trust roots were used.
	// Warning does not indicate a failed verification but may point to configuration issues.
	Warnings []string `json:"Warnings,omitzero"`
}

SignatureIdentity contains the properties of verified signatures for the image.

type SignatureTimestamp added in v1.53.0

type SignatureTimestamp struct {
	Type      SignatureTimestampType `json:"Type"`
	URI       string                 `json:"URI"`
	Timestamp time.Time              `json:"Timestamp"`
}

SignatureTimestamp contains information about a verified signed timestamp for an image signature.

type SignatureTimestampType added in v1.53.0

type SignatureTimestampType string

SignatureTimestampType is the type of timestamp used in the signature.

const (
	SignatureTimestampTlog      SignatureTimestampType = "Tlog"
	SignatureTimestampAuthority SignatureTimestampType = "TimestampAuthority"
)

type SignatureType added in v1.53.0

type SignatureType string

SignatureType is the type of signature format.

const (
	SignatureTypeBundleV03       SignatureType = "bundle-v0.3"
	SignatureTypeSimpleSigningV1 SignatureType = "simplesigning-v1"
)

type SignerIdentity added in v1.53.0

type SignerIdentity struct {
	CertificateIssuer      string `json:"CertificateIssuer"`
	SubjectAlternativeName string `json:"SubjectAlternativeName"`
	// The OIDC issuer. Should match `iss` claim of ID token or, in the case of
	// a federated login like Dex it should match the issuer URL of the
	// upstream issuer. The issuer is not set the extensions are invalid and
	// will fail to render.
	Issuer string `json:"Issuer,omitempty"` // OID 1.3.6.1.4.1.57264.1.8 and 1.3.6.1.4.1.57264.1.1 (Deprecated)

	// Reference to specific build instructions that are responsible for signing.
	BuildSignerURI string `json:"BuildSignerURI,omitempty"` // 1.3.6.1.4.1.57264.1.9

	// Immutable reference to the specific version of the build instructions that is responsible for signing.
	BuildSignerDigest string `json:"BuildSignerDigest,omitempty"` // 1.3.6.1.4.1.57264.1.10

	// Specifies whether the build took place in platform-hosted cloud infrastructure or customer/self-hosted infrastructure.
	RunnerEnvironment string `json:"RunnerEnvironment,omitempty"` // 1.3.6.1.4.1.57264.1.11

	// Source repository URL that the build was based on.
	SourceRepositoryURI string `json:"SourceRepositoryURI,omitempty"` // 1.3.6.1.4.1.57264.1.12

	// Immutable reference to a specific version of the source code that the build was based upon.
	SourceRepositoryDigest string `json:"SourceRepositoryDigest,omitempty"` // 1.3.6.1.4.1.57264.1.13

	// Source Repository Ref that the build run was based upon.
	SourceRepositoryRef string `json:"SourceRepositoryRef,omitempty"` // 1.3.6.1.4.1.57264.1.14

	// Immutable identifier for the source repository the workflow was based upon.
	SourceRepositoryIdentifier string `json:"SourceRepositoryIdentifier,omitempty"` // 1.3.6.1.4.1.57264.1.15

	// Source repository owner URL of the owner of the source repository that the build was based on.
	SourceRepositoryOwnerURI string `json:"SourceRepositoryOwnerURI,omitempty"` // 1.3.6.1.4.1.57264.1.16

	// Immutable identifier for the owner of the source repository that the workflow was based upon.
	SourceRepositoryOwnerIdentifier string `json:"SourceRepositoryOwnerIdentifier,omitempty"` // 1.3.6.1.4.1.57264.1.17

	// Build Config URL to the top-level/initiating build instructions.
	BuildConfigURI string `json:"BuildConfigURI,omitempty"` // 1.3.6.1.4.1.57264.1.18

	// Immutable reference to the specific version of the top-level/initiating build instructions.
	BuildConfigDigest string `json:"BuildConfigDigest,omitempty"` // 1.3.6.1.4.1.57264.1.19

	// Event or action that initiated the build.
	BuildTrigger string `json:"BuildTrigger,omitempty"` // 1.3.6.1.4.1.57264.1.20

	// Run Invocation URL to uniquely identify the build execution.
	RunInvocationURI string `json:"RunInvocationURI,omitempty"` // 1.3.6.1.4.1.57264.1.21

	// Source repository visibility at the time of signing the certificate.
	SourceRepositoryVisibilityAtSigning string `json:"SourceRepositoryVisibilityAtSigning,omitempty"` // 1.3.6.1.4.1.57264.1.22
}

SignerIdentity contains information about the signer certificate used to sign the image. This is certificate.Summary with deprecated fields removed and keys in Moby uppercase style.

type Summary

type Summary struct {
	// Number of containers using this image. Includes both stopped and running
	// containers.
	//
	// This size is not calculated by default, and depends on which API endpoint
	// is used. `-1` indicates that the value has not been set / calculated.
	//
	// Required: true
	Containers int64 `json:"Containers"`

	// Date and time at which the image was created as a Unix timestamp
	// (number of seconds since EPOCH).
	//
	// Required: true
	Created int64 `json:"Created"`

	// ID is the content-addressable ID of an image.
	//
	// This identifier is a content-addressable digest calculated from the
	// image's configuration (which includes the digests of layers used by
	// the image).
	//
	// Note that this digest differs from the `RepoDigests` below, which
	// holds digests of image manifests that reference the image.
	//
	// Required: true
	ID string `json:"Id"`

	// User-defined key/value metadata.
	// Required: true
	Labels map[string]string `json:"Labels"`

	// ID of the parent image.
	//
	// Depending on how the image was created, this field may be empty and
	// is only set for images that were built/created locally. This field
	// is empty if the image was pulled from an image registry.
	//
	// Required: true
	ParentID string `json:"ParentId"`

	// Descriptor is the OCI descriptor of the image target.
	// It's only set if the daemon provides a multi-platform image store.
	//
	// WARNING: This is experimental and may change at any time without any backward
	// compatibility.
	Descriptor *ocispec.Descriptor `json:"Descriptor,omitempty"`

	// Manifests is a list of image manifests available in this image.  It
	// provides a more detailed view of the platform-specific image manifests or
	// other image-attached data like build attestations.
	//
	// WARNING: This is experimental and may change at any time without any backward
	// compatibility.
	Manifests []ManifestSummary `json:"Manifests,omitempty"`

	// List of content-addressable digests of locally available image manifests
	// that the image is referenced from. Multiple manifests can refer to the
	// same image.
	//
	// These digests are usually only available if the image was either pulled
	// from a registry, or if the image was pushed to a registry, which is when
	// the manifest is generated and its digest calculated.
	//
	// Required: true
	RepoDigests []string `json:"RepoDigests"`

	// List of image names/tags in the local image cache that reference this
	// image.
	//
	// Multiple image tags can refer to the same image, and this list may be
	// empty if no tags reference the image, in which case the image is
	// "untagged", in which case it can still be referenced by its ID.
	//
	// Required: true
	RepoTags []string `json:"RepoTags"`

	// Total size of image layers that are shared between this image and other
	// images.
	//
	// This size is not calculated by default. `-1` indicates that the value
	// has not been set / calculated.
	//
	// Required: true
	SharedSize int64 `json:"SharedSize"`

	// Total size of the image including all layers it is composed of.
	//
	// Required: true
	Size int64 `json:"Size"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL