mirror of
https://github.com/containers/podman.git
synced 2025-10-18 19:53:58 +08:00
355 lines
12 KiB
Go
355 lines
12 KiB
Go
package entities
|
|
|
|
import (
|
|
"io"
|
|
"net/url"
|
|
|
|
encconfig "github.com/containers/ocicrypt/config"
|
|
entitiesTypes "github.com/containers/podman/v5/pkg/domain/entities/types"
|
|
"go.podman.io/common/pkg/config"
|
|
"go.podman.io/image/v5/signature/signer"
|
|
"go.podman.io/image/v5/types"
|
|
)
|
|
|
|
type ImageSummary = entitiesTypes.ImageSummary
|
|
|
|
// ImageRemoveOptions can be used to alter image removal.
|
|
type ImageRemoveOptions struct {
|
|
// All will remove all images.
|
|
All bool
|
|
// Force will force image removal including containers using the images.
|
|
Force bool
|
|
// Ignore if a specified image does not exist and do not throw an error.
|
|
Ignore bool
|
|
// Confirms if given name is a manifest list and removes it, otherwise returns error.
|
|
LookupManifest bool
|
|
// NoPrune will not remove dangling images
|
|
NoPrune bool
|
|
DisableForceRemoveContainers bool
|
|
}
|
|
|
|
// ImageRemoveReport is the response for removing one or more image(s) from storage
|
|
// and images what was untagged vs actually removed.
|
|
type ImageRemoveReport = entitiesTypes.ImageRemoveReport
|
|
|
|
type ImageHistoryOptions struct{}
|
|
|
|
type (
|
|
ImageHistoryLayer = entitiesTypes.ImageHistoryLayer
|
|
ImageHistoryReport = entitiesTypes.ImageHistoryReport
|
|
)
|
|
|
|
// ImagePullOptions are the arguments for pulling images.
|
|
type ImagePullOptions struct {
|
|
// AllTags can be specified to pull all tags of an image. Note
|
|
// that this only works if the image does not include a tag.
|
|
AllTags bool
|
|
// Authfile is the path to the authentication file. Ignored for remote
|
|
// calls.
|
|
Authfile string
|
|
// CertDir is the path to certificate directories. Ignored for remote
|
|
// calls.
|
|
CertDir string
|
|
// Username for authenticating against the registry.
|
|
Username string
|
|
// Password for authenticating against the registry.
|
|
Password string
|
|
// Arch will overwrite the local architecture for image pulls.
|
|
Arch string
|
|
// OS will overwrite the local operating system (OS) for image
|
|
// pulls.
|
|
OS string
|
|
// Variant will overwrite the local variant for image pulls.
|
|
Variant string
|
|
// Quiet can be specified to suppress pull progress when pulling. Ignored
|
|
// for remote calls.
|
|
Quiet bool
|
|
// Retry number of times to retry pull in case of failure
|
|
Retry *uint
|
|
// RetryDelay between retries in case of pull failures
|
|
RetryDelay string
|
|
// SignaturePolicy to use when pulling. Ignored for remote calls.
|
|
SignaturePolicy string
|
|
// SkipTLSVerify to skip HTTPS and certificate verification.
|
|
SkipTLSVerify types.OptionalBool
|
|
// PullPolicy whether to pull new image
|
|
PullPolicy config.PullPolicy
|
|
// Writer is used to display copy information including progress bars.
|
|
Writer io.Writer
|
|
// OciDecryptConfig contains the config that can be used to decrypt an image if it is
|
|
// encrypted if non-nil. If nil, it does not attempt to decrypt an image.
|
|
OciDecryptConfig *encconfig.DecryptConfig
|
|
}
|
|
|
|
// ImagePullReport is the response from pulling one or more images.
|
|
type ImagePullReport = entitiesTypes.ImagePullReport
|
|
|
|
// ImagePushOptions are the arguments for pushing images.
|
|
type ImagePushOptions struct {
|
|
// All indicates that all images referenced in a manifest list should be pushed
|
|
All bool
|
|
// Authfile is the path to the authentication file. Ignored for remote
|
|
// calls.
|
|
Authfile string
|
|
// CertDir is the path to certificate directories. Ignored for remote
|
|
// calls.
|
|
CertDir string
|
|
// Compress tarball image layers when pushing to a directory using the 'dir'
|
|
// transport. Default is same compression type as source. Ignored for remote
|
|
// calls.
|
|
Compress bool
|
|
// Username for authenticating against the registry.
|
|
Username string
|
|
// Password for authenticating against the registry.
|
|
Password string
|
|
// Format is the Manifest type (oci, v2s1, or v2s2) to use when pushing an
|
|
// image. Default is manifest type of source, with fallbacks.
|
|
// Ignored for remote calls.
|
|
Format string
|
|
// Quiet can be specified to suppress push progress when pushing.
|
|
Quiet bool
|
|
// Rm indicates whether to remove the manifest list if push succeeds
|
|
Rm bool
|
|
// RemoveSignatures, discard any pre-existing signatures in the image.
|
|
// Ignored for remote calls.
|
|
RemoveSignatures bool
|
|
// Retry number of times to retry push in case of failure
|
|
Retry *uint
|
|
// RetryDelay between retries in case of push failures
|
|
RetryDelay string
|
|
// SignaturePolicy to use when pulling. Ignored for remote calls.
|
|
SignaturePolicy string
|
|
// Signers, if non-empty, asks for signatures to be added during the copy
|
|
// using the provided signers.
|
|
// Rejected for remote calls.
|
|
Signers []*signer.Signer
|
|
// SignBy adds a signature at the destination using the specified key.
|
|
// Ignored for remote calls.
|
|
SignBy string
|
|
// SignPassphrase, if non-empty, specifies a passphrase to use when signing
|
|
// with the key ID from SignBy.
|
|
SignPassphrase string
|
|
// SignBySigstorePrivateKeyFile, if non-empty, asks for a signature to be added
|
|
// during the copy, using a sigstore private key file at the provided path.
|
|
// Ignored for remote calls.
|
|
SignBySigstorePrivateKeyFile string
|
|
// SignSigstorePrivateKeyPassphrase is the passphrase to use when signing with
|
|
// SignBySigstorePrivateKeyFile.
|
|
SignSigstorePrivateKeyPassphrase []byte
|
|
// SkipTLSVerify to skip HTTPS and certificate verification.
|
|
SkipTLSVerify types.OptionalBool
|
|
// Progress to get progress notifications
|
|
Progress chan types.ProgressProperties
|
|
// CompressionFormat is the format to use for the compression of the blobs
|
|
CompressionFormat string
|
|
// CompressionLevel is the level to use for the compression of the blobs
|
|
CompressionLevel *int
|
|
// Writer is used to display copy information including progress bars.
|
|
Writer io.Writer
|
|
// OciEncryptConfig when non-nil indicates that an image should be encrypted.
|
|
// The encryption options is derived from the construction of EncryptConfig object.
|
|
OciEncryptConfig *encconfig.EncryptConfig
|
|
// OciEncryptLayers represents the list of layers to encrypt.
|
|
// If nil, don't encrypt any layers.
|
|
// If non-nil and len==0, denotes encrypt all layers.
|
|
// integers in the slice represent 0-indexed layer indices, with support for negative
|
|
// indexing. i.e. 0 is the first layer, -1 is the last (top-most) layer.
|
|
OciEncryptLayers *[]int
|
|
// If necessary, add clones of existing instances with requested compression algorithms to manifest list
|
|
// Note: Following option is only valid for `manifest push`
|
|
AddCompression []string
|
|
// ForceCompressionFormat ensures that the compression algorithm set in
|
|
// CompressionFormat is used exclusively, and blobs of other compression
|
|
// algorithms are not reused.
|
|
ForceCompressionFormat bool
|
|
}
|
|
|
|
// ImagePushReport is the response from pushing an image.
|
|
type ImagePushReport struct {
|
|
// The digest of the manifest of the pushed image.
|
|
ManifestDigest string
|
|
}
|
|
|
|
// ImagePushStream is the response from pushing an image. Only used in the
|
|
// remote API.
|
|
type ImagePushStream = entitiesTypes.ImagePushStream
|
|
|
|
// ImageSearchOptions are the arguments for searching images.
|
|
type ImageSearchOptions struct {
|
|
// Authfile is the path to the authentication file. Ignored for remote
|
|
// calls.
|
|
Authfile string
|
|
// CertDir is the path to certificate directories. Ignored for remote
|
|
// calls.
|
|
CertDir string
|
|
// Username for authenticating against the registry.
|
|
Username string
|
|
// Password for authenticating against the registry.
|
|
Password string
|
|
// IdentityToken is used to authenticate the user and get
|
|
// an access token for the registry.
|
|
IdentityToken string
|
|
// Filters for the search results.
|
|
Filters []string
|
|
// Limit the number of results.
|
|
Limit int
|
|
// SkipTLSVerify to skip HTTPS and certificate verification.
|
|
SkipTLSVerify types.OptionalBool
|
|
// ListTags search the available tags of the repository
|
|
ListTags bool
|
|
}
|
|
|
|
// ImageSearchReport is the response from searching images.
|
|
type ImageSearchReport = entitiesTypes.ImageSearchReport
|
|
|
|
// Image List Options
|
|
type ImageListOptions struct {
|
|
All bool
|
|
// ExtendedAttributes is used by the libpod endpoint only to deliver extra information
|
|
// that the compat endpoint does not
|
|
ExtendedAttributes bool
|
|
Filter []string
|
|
}
|
|
|
|
type ImagePruneOptions struct {
|
|
All bool `json:"all" schema:"all"`
|
|
External bool `json:"external" schema:"external"`
|
|
BuildCache bool `json:"buildcache" schema:"buildcache"`
|
|
Filter []string `json:"filter" schema:"filter"`
|
|
}
|
|
|
|
type (
|
|
ImageTagOptions struct{}
|
|
ImageUntagOptions struct{}
|
|
)
|
|
|
|
// ImageInspectReport is the data when inspecting an image.
|
|
type ImageInspectReport = entitiesTypes.ImageInspectReport
|
|
|
|
type ImageLoadOptions struct {
|
|
Input string
|
|
Quiet bool
|
|
SignaturePolicy string
|
|
}
|
|
|
|
type ImageLoadReport = entitiesTypes.ImageLoadReport
|
|
|
|
type ImageImportOptions struct {
|
|
Architecture string
|
|
Variant string
|
|
Changes []string
|
|
Message string
|
|
OS string
|
|
Quiet bool
|
|
Reference string
|
|
SignaturePolicy string
|
|
Source string
|
|
SourceIsURL bool
|
|
}
|
|
|
|
type ImageImportReport = entitiesTypes.ImageImportReport
|
|
|
|
// ImageSaveOptions provide options for saving images.
|
|
type ImageSaveOptions struct {
|
|
// Compress layers when saving to a directory.
|
|
Compress bool
|
|
// Format of saving the image: oci-archive, oci-dir (directory with oci
|
|
// manifest type), docker-archive, docker-dir (directory with v2s2
|
|
// manifest type).
|
|
Format string
|
|
// MultiImageArchive denotes if the created archive shall include more
|
|
// than one image. Additional tags will be interpreted as references
|
|
// to images which are added to the archive.
|
|
MultiImageArchive bool
|
|
// Accept uncompressed layers when copying OCI images.
|
|
OciAcceptUncompressedLayers bool
|
|
// Output - write image to the specified path.
|
|
Output string
|
|
// Quiet - suppress output when copying images
|
|
Quiet bool
|
|
SignaturePolicy string
|
|
}
|
|
|
|
// ImageScpOptions provides options for ImageEngine.Scp()
|
|
type ImageScpOptions struct {
|
|
ScpExecuteTransferOptions
|
|
}
|
|
|
|
// ImageScpReport provides results from ImageEngine.Scp()
|
|
type ImageScpReport struct{}
|
|
|
|
// ImageScpConnections provides the ssh related information used in remote image transfer
|
|
type ImageScpConnections struct {
|
|
// Connections holds the raw string values for connections (ssh or unix)
|
|
Connections []string
|
|
// URI contains the ssh connection URLs to be used by the client
|
|
URI []*url.URL
|
|
// Identities contains ssh identity keys to be used by the client
|
|
Identities []string
|
|
}
|
|
|
|
// ImageTreeOptions provides options for ImageEngine.Tree()
|
|
type ImageTreeOptions struct {
|
|
WhatRequires bool // Show all child images and layers of the specified image
|
|
}
|
|
|
|
// ImageTreeReport provides results from ImageEngine.Tree()
|
|
type ImageTreeReport = entitiesTypes.ImageTreeReport
|
|
|
|
// ShowTrustOptions are the cli options for showing trust
|
|
type ShowTrustOptions struct {
|
|
JSON bool
|
|
PolicyPath string
|
|
Raw bool
|
|
RegistryPath string
|
|
}
|
|
|
|
// ShowTrustReport describes the results of show trust
|
|
type ShowTrustReport = entitiesTypes.ShowTrustReport
|
|
|
|
// SetTrustOptions describes the CLI options for setting trust
|
|
type SetTrustOptions struct {
|
|
PolicyPath string
|
|
PubKeysFile []string
|
|
Type string
|
|
}
|
|
|
|
// SignOptions describes input options for the CLI signing
|
|
type SignOptions struct {
|
|
Directory string
|
|
SignBy string
|
|
CertDir string
|
|
Authfile string
|
|
All bool
|
|
}
|
|
|
|
// SignReport describes the result of signing
|
|
type SignReport struct{}
|
|
|
|
// ImageMountOptions describes the input values for mounting images
|
|
// in the CLI
|
|
type ImageMountOptions struct {
|
|
All bool
|
|
Format string
|
|
}
|
|
|
|
// ImageUnmountOptions are the options from the cli for unmounting
|
|
type ImageUnmountOptions struct {
|
|
All bool
|
|
Force bool
|
|
}
|
|
|
|
// ImageMountReport describes the response from image mount
|
|
type ImageMountReport = entitiesTypes.ImageMountReport
|
|
|
|
// ImageUnmountReport describes the response from umounting an image
|
|
type ImageUnmountReport = entitiesTypes.ImageUnmountReport
|
|
|
|
const (
|
|
LocalFarmImageBuilderName = "(local)"
|
|
LocalFarmImageBuilderDriver = "local"
|
|
)
|
|
|
|
// FarmInspectReport describes the response from farm inspect
|
|
type FarmInspectReport = entitiesTypes.FarmInspectReport
|