Documentation ¶
Index ¶
- Variables
- func GetAdditionalTags(images []string) ([]reference.NamedTagged, error)
- func GetSystemContext(signaturePolicyPath, authFilePath string, forceCompress bool) *types.SystemContext
- func ReposToMap(repotags []string) map[string][]string
- type DockerRegistryOptions
- type Filter
- type History
- type Image
- func (i *Image) Annotations(ctx context.Context) (map[string]string, error)
- func (i *Image) Comment(ctx context.Context, manifestType string) (string, error)
- func (i *Image) Containers() ([]string, error)
- func (i *Image) Created() time.Time
- func (i *Image) Dangling() bool
- func (i *Image) Decompose() error
- func (i *Image) Digest() digest.Digest
- func (i *Image) DriverData() (*inspect.Data, error)
- func (i *Image) GetChildren() ([]string, error)
- func (i *Image) GetParent() (*Image, error)
- func (i *Image) History(ctx context.Context) ([]*History, error)
- func (i *Image) ID() string
- func (i *Image) InputIsID() bool
- func (i *Image) Inspect(ctx context.Context) (*inspect.ImageData, error)
- func (i *Image) IsParent() (bool, error)
- func (i *Image) Labels(ctx context.Context) (map[string]string, error)
- func (i *Image) Layer() (*storage.Layer, error)
- func (i *Image) Manifest(ctx context.Context) ([]byte, string, error)
- func (i *Image) MatchRepoTag(input string) (string, error)
- func (i *Image) MatchesID(id string) bool
- func (i *Image) Names() []string
- func (i *Image) PushImageToHeuristicDestination(ctx context.Context, ...) error
- func (i *Image) PushImageToReference(ctx context.Context, dest types.ImageReference, ...) error
- func (i *Image) Remove(force bool) error
- func (i *Image) RepoDigests() []string
- func (i *Image) Size(ctx context.Context) (*uint64, error)
- func (i *Image) TagImage(tag string) error
- func (i *Image) ToImageRef(ctx context.Context) (types.Image, error)
- func (i *Image) TopLayer() string
- func (i *Image) UntagImage(tag string) error
- type ResultFilter
- type Runtime
- func (ir *Runtime) GetImages() ([]*Image, error)
- func (ir *Runtime) Import(ctx context.Context, path, reference string, writer io.Writer, ...) (*Image, error)
- func (ir *Runtime) LoadFromArchiveReference(ctx context.Context, srcRef types.ImageReference, signaturePolicyPath string, ...) ([]*Image, error)
- func (ir *Runtime) New(ctx context.Context, name, signaturePolicyPath, authfile string, ...) (*Image, error)
- func (ir *Runtime) NewFromLocal(name string) (*Image, error)
- func (ir *Runtime) Shutdown(force bool) error
- type SigningOptions
Constants ¶
This section is empty.
Variables ¶
var ( // DockerArchive is the transport we prepend to an image name // when saving to docker-archive DockerArchive = dockerarchive.Transport.Name() // OCIArchive is the transport we prepend to an image name // when saving to oci-archive OCIArchive = ociarchive.Transport.Name() // DirTransport is the transport for pushing and pulling // images to and from a directory DirTransport = directory.Transport.Name() // DockerTransport is the transport for docker registries DockerTransport = docker.Transport.Name() // AtomicTransport is the transport for atomic registries AtomicTransport = "atomic" // DefaultTransport is a prefix that we apply to an image name // NOTE: This is a string prefix, not actually a transport name usable for transports.Get(); // and because syntaxes of image names are transport-dependent, the prefix is not really interchangeable; // each user implicitly assumes the appended string is a Docker-like reference. DefaultTransport = DockerTransport + "://" // DefaultLocalRegistry is the default local registry for local image operations // Remote pulls will still use defined registries DefaultLocalRegistry = "localhost" )
var ErrRepoTagNotFound = errors.New("unable to match user input to any specific repotag")
ErrRepoTagNotFound is the error returned when the image id given doesn't match a rep tag in store
Functions ¶
func GetAdditionalTags ¶
func GetAdditionalTags(images []string) ([]reference.NamedTagged, error)
GetAdditionalTags returns a list of reference.NamedTagged for the additional tags given in images
func GetSystemContext ¶
func GetSystemContext(signaturePolicyPath, authFilePath string, forceCompress bool) *types.SystemContext
GetSystemContext Constructs a new containers/image/types.SystemContext{} struct from the given signaturePolicy path
func ReposToMap ¶
ReposToMap parses the specified repotags and returns a map with repositories as keys and the corresponding arrays of tags as values.
Types ¶
type DockerRegistryOptions ¶
type DockerRegistryOptions struct { // DockerRegistryCreds is the user name and password to supply in case // we need to pull an image from a registry, and it requires us to // authenticate. DockerRegistryCreds *types.DockerAuthConfig // DockerCertPath is the location of a directory containing CA // certificates which will be used to verify the registry's certificate // (all files with names ending in ".crt"), and possibly client // certificates and private keys (pairs of files with the same name, // except for ".cert" and ".key" suffixes). DockerCertPath string // DockerInsecureSkipTLSVerify turns off verification of TLS // certificates and allows connecting to registries without encryption. DockerInsecureSkipTLSVerify bool }
DockerRegistryOptions encapsulates settings that affect how we connect or authenticate to a remote registry.
func (DockerRegistryOptions) GetSystemContext ¶
func (o DockerRegistryOptions) GetSystemContext(parent *types.SystemContext, additionalDockerArchiveTags []reference.NamedTagged) *types.SystemContext
GetSystemContext constructs a new system context from a parent context. the values in the DockerRegistryOptions, and other parameters.
type Filter ¶
Filter is a function to determine whether an image is included in command output. Images to be outputted are tested using the function. A true return will include the image, a false return will exclude it.
type History ¶
type History struct { ID string `json:"id"` Created *time.Time `json:"created"` CreatedBy string `json:"createdBy"` Size int64 `json:"size"` Comment string `json:"comment"` }
History contains the history information of an image
type Image ¶
type Image struct { inspect.ImageData inspect.ImageResult InputName string Local bool // contains filtered or unexported fields }
Image is the primary struct for dealing with images It is still very much a work in progress
func FilterImages ¶
func FilterImages(images []*Image, filters []ResultFilter) []*Image
FilterImages filters images using a set of predefined filter funcs
func (*Image) Annotations ¶
Annotations returns the annotations of an image
func (*Image) Containers ¶
Containers a list of container IDs associated with the image
func (*Image) DriverData ¶
DriverData gets the driver data from the store on a layer
func (*Image) GetChildren ¶
GetChildren returns a list of the imageIDs that depend on the image
func (*Image) GetParent ¶
GetParent returns the image ID of the parent. Return nil if a parent is not found.
func (*Image) InputIsID ¶
InputIsID returns a bool if the user input for an image is the image's partial or full id
func (*Image) IsParent ¶
IsParent goes through the layers in the store and checks if i.TopLayer is the parent of any other layer in store. Double check that image with that layer exists as well.
func (*Image) Manifest ¶
Manifest returns the image's manifest as a byte array and manifest type as a string. The manifest type is MediaTypeImageManifest from ociv1.
func (*Image) MatchRepoTag ¶
MatchRepoTag takes a string and tries to match it against an image's repotags
func (*Image) PushImageToHeuristicDestination ¶
func (i *Image) PushImageToHeuristicDestination(ctx context.Context, destination, manifestMIMEType, authFile, signaturePolicyPath string, writer io.Writer, forceCompress bool, signingOptions SigningOptions, dockerRegistryOptions *DockerRegistryOptions, forceSecure bool, additionalDockerArchiveTags []reference.NamedTagged) error
PushImageToHeuristicDestination pushes the given image to "destination", which is heuristically parsed. Use PushImageToReference if the destination is known precisely.
func (*Image) PushImageToReference ¶
func (i *Image) PushImageToReference(ctx context.Context, dest types.ImageReference, manifestMIMEType, authFile, signaturePolicyPath string, writer io.Writer, forceCompress bool, signingOptions SigningOptions, dockerRegistryOptions *DockerRegistryOptions, forceSecure bool, additionalDockerArchiveTags []reference.NamedTagged) error
PushImageToReference pushes the given image to a location described by the given path
func (*Image) Remove ¶
Remove an image; container removal for the image must be done outside the context of images TODO: the force param does nothing as of now. Need to move container handling logic here eventually.
func (*Image) RepoDigests ¶
RepoDigests returns a string array of repodigests associated with the image
func (*Image) ToImageRef ¶
ToImageRef returns an image reference type from an image TODO: Hopefully we can remove this exported function for mheon
func (*Image) UntagImage ¶
UntagImage removes a tag from the given image
type ResultFilter ¶
ResultFilter is a mock function for image filtering
func CreatedAfterFilter ¶
func CreatedAfterFilter(createTime time.Time) ResultFilter
CreatedAfterFilter allows you to filter on images created after the given time.Time
func CreatedBeforeFilter ¶
func CreatedBeforeFilter(createTime time.Time) ResultFilter
CreatedBeforeFilter allows you to filter on images created before the given time.Time
func DanglingFilter ¶
func DanglingFilter() ResultFilter
DanglingFilter allows you to filter images for dangling images
func LabelFilter ¶
func LabelFilter(ctx context.Context, labelfilter string) ResultFilter
LabelFilter allows you to filter by images labels key and/or value
func OutputImageFilter ¶
func OutputImageFilter(userImage *Image) ResultFilter
OutputImageFilter allows you to filter by an a specific image name
type Runtime ¶
type Runtime struct { SignaturePolicyPath string // contains filtered or unexported fields }
Runtime contains the store
func NewImageRuntimeFromOptions ¶
func NewImageRuntimeFromOptions(options storage.StoreOptions) (*Runtime, error)
NewImageRuntimeFromOptions creates an Image Runtime including the store given store options
func NewImageRuntimeFromStore ¶
NewImageRuntimeFromStore creates an ImageRuntime based on a provided store
func (*Runtime) Import ¶
func (ir *Runtime) Import(ctx context.Context, path, reference string, writer io.Writer, signingOptions SigningOptions, imageConfig ociv1.Image) (*Image, error)
Import imports and image into the store and returns an image
func (*Runtime) LoadFromArchiveReference ¶
func (ir *Runtime) LoadFromArchiveReference(ctx context.Context, srcRef types.ImageReference, signaturePolicyPath string, writer io.Writer) ([]*Image, error)
LoadFromArchiveReference creates a new image object for images pulled from a tar archive and the like (podman load) This function is needed because it is possible for a tar archive to have multiple tags for one image
func (*Runtime) New ¶
func (ir *Runtime) New(ctx context.Context, name, signaturePolicyPath, authfile string, writer io.Writer, dockeroptions *DockerRegistryOptions, signingoptions SigningOptions, forcePull, forceSecure bool) (*Image, error)
New creates a new image object where the image could be local or remote
func (*Runtime) NewFromLocal ¶
NewFromLocal creates a new image object that is intended to only deal with local images already in the store (or its aliases)
type SigningOptions ¶
type SigningOptions struct { // RemoveSignatures directs us to remove any signatures which are already present. RemoveSignatures bool // SignBy is a key identifier of some kind, indicating that a signature should be generated using the specified private key and stored with the image. SignBy string }
SigningOptions encapsulates settings that control whether or not we strip or add signatures to images when writing them.