mod

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2024 License: Apache-2.0 Imports: 25 Imported by: 2

Documentation

Overview

Package mod changes an image according to the requested modifications.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Apply

func Apply(ctx context.Context, rc *regclient.RegClient, rSrc ref.Ref, opts ...Opts) (ref.Ref, error)

Apply applies a set of modifications to an image (manifest, configs, and layers).

Types

type OptTime added in v0.5.2

type OptTime struct {
	Set        time.Time // time to set, this or FromLabel are required
	FromLabel  string    // label from which to extract set time
	After      time.Time // only change times that are after this
	BaseRef    ref.Ref   // define base image, do not alter timestamps from base layers
	BaseLayers int       // define a number of layers to not modify (count of the layers in a base image)
}

OptTime defines time settings for WithConfigTimestamp and WithLayerTimestamp.

type Opts

type Opts func(*dagConfig, *dagManifest) error

Opts defines options for Apply

func WithAnnotation

func WithAnnotation(name, value string) Opts

WithAnnotation adds an annotation, or deletes it if the value is set to an empty string. If name is not prefixed with a platform selector, this only applies to the top level manifest. Name may be prefixed with a list of platforms "[p1,p2,...]name", e.g. "[linux/amd64]com.example.field". The platform selector may also be "[*]" to apply to all manifests, including the top level manifest list.

func WithAnnotationOCIBase

func WithAnnotationOCIBase(rBase ref.Ref, dBase digest.Digest) Opts

WithAnnotationOCIBase adds annotations for the base image.

func WithAnnotationPromoteCommon added in v0.6.0

func WithAnnotationPromoteCommon() Opts

WithAnnotationPromoteCommon pulls up common annotations from child images to the index.

func WithBuildArgRm added in v0.4.2

func WithBuildArgRm(arg string, value *regexp.Regexp) Opts

WithBuildArgRm removes a build arg from the config history.

func WithConfigCmd added in v0.6.0

func WithConfigCmd(cmd []string) Opts

WithConfigCmd sets the command in the config. For running a shell command, the `cmd` value should be `[]string{"/bin/sh", "-c", command}`.

func WithConfigEntrypoint added in v0.6.0

func WithConfigEntrypoint(entrypoint []string) Opts

WithConfigEntrypoint sets the entrypoint in the config. For running a shell command, the `entrypoint` value should be `[]string{"/bin/sh", "-c", command}`.

func WithConfigPlatform added in v0.6.0

func WithConfigPlatform(p platform.Platform) Opts

WithConfigPlatform sets the platform in the config.

func WithConfigTimestamp added in v0.5.2

func WithConfigTimestamp(optTime OptTime) Opts

WithConfigTimestamp sets the timestamp on the config entries based on options.

func WithConfigTimestampFromLabel deprecated

func WithConfigTimestampFromLabel(label string) Opts

WithConfigTimestampFromLabel sets the max timestamp in the config to match a label value.

Deprecated: replace with WithConfigTimestamp.

func WithConfigTimestampMax deprecated

func WithConfigTimestampMax(t time.Time) Opts

WithConfigTimestampMax sets the max timestamp on any config objects.

Deprecated: replace with WithConfigTimestamp.

func WithData

func WithData(maxDataSize int64) Opts

WithData sets the descriptor data field max size. This also strips the data field off descriptors above the max size.

func WithExposeAdd

func WithExposeAdd(port string) Opts

WithExposeAdd defines an exposed port in the image config.

func WithExposeRm

func WithExposeRm(port string) Opts

WithExposeRm deletes an exposed from the image config.

func WithExternalURLsRm added in v0.4.3

func WithExternalURLsRm() Opts

WithExternalURLsRm strips external URLs from descriptors and adjusts media type to match.

func WithFileTarTime added in v0.5.2

func WithFileTarTime(name string, optTime OptTime) Opts

WithFileTarTime processes a tar file within a layer and adjusts the timestamps according to optTime.

func WithFileTarTimeMax deprecated added in v0.4.4

func WithFileTarTimeMax(name string, t time.Time) Opts

WithFileTarTimeMax processes a tar file within a layer and rewrites the contents with a max timestamp.

Deprecated: replace with WithFileTarTime.

func WithLabel

func WithLabel(name, value string) Opts

WithLabel sets or deletes a label from the image config.

func WithLabelToAnnotation

func WithLabelToAnnotation() Opts

WithLabelToAnnotation copies image config labels to manifest annotations.

func WithLayerReproducible added in v0.5.2

func WithLayerReproducible() Opts

WithLayerReproducible modifies the layer with reproducible options. This currently configures users and groups with numeric ids.

func WithLayerRmCreatedBy

func WithLayerRmCreatedBy(re regexp.Regexp) Opts

WithLayerRmCreatedBy deletes a layer based on a regex of the created by field in the config history for that layer.

func WithLayerRmIndex

func WithLayerRmIndex(index int) Opts

WithLayerRmIndex deletes a layer by index. The index starts at 0.

func WithLayerStripFile

func WithLayerStripFile(file string) Opts

WithLayerStripFile removes a file from within the layer tar.

func WithLayerTimestamp added in v0.5.2

func WithLayerTimestamp(optTime OptTime) Opts

WithLayerTimestamp sets the timestamp on files in the layers based on options.

func WithLayerTimestampFromLabel deprecated

func WithLayerTimestampFromLabel(label string) Opts

WithLayerTimestampFromLabel sets the max layer timestamp based on a label in the image.

Deprecated: replace with WithLayerTimestamp.

func WithLayerTimestampMax deprecated

func WithLayerTimestampMax(t time.Time) Opts

WithLayerTimestampMax ensures no file timestamps are after specified time.

Deprecated: replace with WithLayerTimestamp.

func WithManifestToDocker added in v0.4.8

func WithManifestToDocker() Opts

WithManifestToDocker converts the manifest to Docker schema2 media types.

func WithManifestToOCI

func WithManifestToOCI() Opts

WithManifestToOCI converts the manifest to OCI media types.

func WithManifestToOCIReferrers added in v0.4.6

func WithManifestToOCIReferrers() Opts

WithManifestToOCIReferrers converts other referrer types to OCI subject/referrers.

func WithRebase added in v0.4.5

func WithRebase() Opts

WithRebase attempts to rebase the image using OCI annotations identifying the base image.

func WithRebaseRefs added in v0.4.5

func WithRebaseRefs(rOld, rNew ref.Ref) Opts

WithRebaseRefs swaps the base image layers from the old to the new reference.

func WithRefTgt added in v0.5.0

func WithRefTgt(rTgt ref.Ref) Opts

WithRefTgt sets the target manifest. Apply will default to pushing to the same name by digest.

func WithVolumeAdd

func WithVolumeAdd(volume string) Opts

WithVolumeAdd defines a volume in the image config.

func WithVolumeRm

func WithVolumeRm(volume string) Opts

WithVolumeRm deletes a volume from the image config.

Jump to

Keyboard shortcuts

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