# Stream Processors ## Processor API Processors are a binary API that works off of content streams. The incoming content stream will be provided to the binary via `STDIN` and the stream processor is expected to output the processed stream on `STDOUT`. If errors are encountered, errors MUST be returned via `STDERR` with a non-zero exit status. Additional information can be provided to stream processors via a payload. Payloads are marshaled as `protobuf.Any` types and can wrap any type of serialized data structure. On Unix systems, the payload, if available, is provided on `fd 3` for the process. On Windows systems, the payload, if available, is provided via a named pipe with the pipe's path set as the value of the environment variable `STREAM_PROCESSOR_PIPE`. ## Configuration To configure stream processors for containerd, entries in the config file need to be made. The `stream_processors` field is a map so that users can chain together multiple processors to mutate content streams. Processor Fields: * Key - ID of the processor, used for passing a specific payload to the processor. * `accepts` - Accepted media-types for the processor that it can handle. * `returns` - The media-type that the processor returns. * `path` - Path to the processor binary. * `args` - Arguments passed to the processor binary. ```toml [stream_processors] [stream_processors."io.containerd.processor.v1.pigz"] accepts = ["application/vnd.docker.image.rootfs.diff.tar.gzip"] returns = "application/vnd.oci.image.layer.v1.tar" path = "unpigz" args = ["-d", "-c"] ```
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
PLUGINS.md.gz | File | 3.06 KB | 0644 |
|
README.md.gz | File | 5.73 KB | 0644 |
|
RUNC.md | File | 1.72 KB | 0644 |
|
SECURITY_AUDIT.pdf.gz | File | 135.2 KB | 0644 |
|
changelog.Debian.gz | File | 1.33 KB | 0644 |
|
client-opts.md | File | 3.48 KB | 0644 |
|
content-flow.md.gz | File | 6.41 KB | 0644 |
|
copyright | File | 49.35 KB | 0644 |
|
garbage-collection.md.gz | File | 3.13 KB | 0644 |
|
getting-started.md.gz | File | 4.6 KB | 0644 |
|
hosts.md.gz | File | 4.19 KB | 0644 |
|
managed-opt.md.gz | File | 1.95 KB | 0644 |
|
namespaces.md | File | 3.39 KB | 0644 |
|
ops.md.gz | File | 3.32 KB | 0644 |
|
remote-snapshotter.md.gz | File | 2.11 KB | 0644 |
|
rootless.md | File | 3.32 KB | 0644 |
|
stream_processors.md | File | 1.54 KB | 0644 |
|
tracing.md | File | 2.5 KB | 0644 |
|