Documentation ¶
Index ¶
- Variables
- func RegisterProcessor(handler Handler)
- type Applier
- type ApplyConfig
- type ApplyOpt
- type Comparer
- type Config
- type Handler
- type Opt
- type RawProcessor
- type StreamProcessor
- func GetProcessor(ctx context.Context, stream StreamProcessor, payloads map[string]*types.Any) (StreamProcessor, error)
- func NewBinaryProcessor(ctx context.Context, imt, rmt string, stream StreamProcessor, name string, ...) (StreamProcessor, error)
- func NewProcessorChain(mt string, r io.Reader) StreamProcessor
- type StreamProcessorInit
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNoProcessor is returned when no stream processor is available for a media-type ErrNoProcessor = errors.New("no processor for media-type") )
Functions ¶
func RegisterProcessor ¶ added in v1.3.0
func RegisterProcessor(handler Handler)
RegisterProcessor registers a stream processor for media-types
Types ¶
type Applier ¶ added in v1.1.0
type Applier interface { // Apply applies the content referred to by the given descriptor to // the provided mount. The method of applying is based on the // implementation and content descriptor. For example, in the common // case the descriptor is a file system difference in tar format, // that tar would be applied on top of the mounts. Apply(ctx context.Context, desc ocispec.Descriptor, mount []mount.Mount, opts ...ApplyOpt) (ocispec.Descriptor, error) }
Applier allows applying diffs between mounts
type ApplyConfig ¶ added in v1.3.0
type ApplyConfig struct { // ProcessorPayloads specifies the payload sent to various processors ProcessorPayloads map[string]*types.Any }
ApplyConfig is used to hold parameters needed for a apply operation
type ApplyOpt ¶ added in v1.3.0
type ApplyOpt func(context.Context, ocispec.Descriptor, *ApplyConfig) error
ApplyOpt is used to configure an Apply operation
type Comparer ¶ added in v1.1.0
type Comparer interface { // Compare computes the difference between two mounts and returns a // descriptor for the computed diff. The options can provide // a ref which can be used to track the content creation of the diff. // The media type which is used to determine the format of the created // content can also be provided as an option. Compare(ctx context.Context, lower, upper []mount.Mount, opts ...Opt) (ocispec.Descriptor, error) }
Comparer allows creation of filesystem diffs between mounts
type Config ¶
type Config struct { // MediaType is the type of diff to generate // Default depends on the differ, // i.e. application/vnd.oci.image.layer.v1.tar+gzip MediaType string // Reference is the content upload reference // Default will use a random reference string Reference string // Labels are the labels to apply to the generated content Labels map[string]string }
Config is used to hold parameters needed for a diff operation
type Handler ¶ added in v1.3.0
type Handler func(ctx context.Context, mediaType string) (StreamProcessorInit, bool)
Handler checks a media-type and initializes the processor
func BinaryHandler ¶ added in v1.3.0
func StaticHandler ¶ added in v1.3.0
func StaticHandler(expectedMediaType string, fn StreamProcessorInit) Handler
StaticHandler returns the processor init func for a static media-type
type Opt ¶
Opt is used to configure a diff operation
func WithLabels ¶
WithLabels is used to set content labels on the created diff content.
func WithMediaType ¶
WithMediaType sets the media type to use for creating the diff, without specifying the differ will choose a default.
func WithReference ¶
WithReference is used to set the content upload reference used by the diff operation. This allows the caller to track the upload through the content store.
type RawProcessor ¶ added in v1.3.0
type RawProcessor interface { // File returns the fd for the read stream of the underlying processor File() *os.File }
RawProcessor provides access to direct fd for processing
type StreamProcessor ¶ added in v1.3.0
type StreamProcessor interface { io.ReadCloser // MediaType is the resulting media-type that the processor processes the stream into MediaType() string }
StreamProcessor handles processing a content stream and transforming it into a different media-type
func GetProcessor ¶ added in v1.3.0
func GetProcessor(ctx context.Context, stream StreamProcessor, payloads map[string]*types.Any) (StreamProcessor, error)
GetProcessor returns the processor for a media-type
func NewBinaryProcessor ¶ added in v1.3.0
func NewBinaryProcessor(ctx context.Context, imt, rmt string, stream StreamProcessor, name string, args, env []string, payload *types.Any) (StreamProcessor, error)
NewBinaryProcessor returns a binary processor for use with processing content streams
func NewProcessorChain ¶ added in v1.3.0
func NewProcessorChain(mt string, r io.Reader) StreamProcessor
NewProcessorChain initialized the root StreamProcessor
type StreamProcessorInit ¶ added in v1.3.0
type StreamProcessorInit func(ctx context.Context, stream StreamProcessor, payloads map[string]*types.Any) (StreamProcessor, error)
StreamProcessorInit returns the initialized stream processor