spiegel_podman/pkg
Scott Callaway 69e300867e
image scp: describe and validate the compression options
Groundwork for compressing the transfer archive: the options themselves, the
set of algorithms that may be requested, and the check ExecuteTransfer runs
before it does anything else. Nothing acts on them yet.

The set of formats is deliberately narrower than what c/image knows. Every
entry has to satisfy three things: podman load has to detect and decompress it
from the stream alone, c/image has to be able to compress it (it only
decompresses bzip2 and xz), and a command line compressor of the same name has
to exist for the case where the archive is produced on a remote host. gzip and
zstd qualify, and they match the vocabulary --compression-format already uses
on podman push.

One table drives the accepted formats, their level ranges, and the list
offered on the command line, so there is nothing to keep in sync.

A transfer between two users on the same machine never crosses a network, so a
requested format is reported as ignored there rather than refused.

The validation is worded without flag names because it also runs on the API
path, where the caller never passed a flag.

Signed-off-by: Scott Callaway <github@scottcallaway.co.uk>
2026-09-07 15:59:33 +01:00
..
annotations RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
api Merge branch 'podman-container-tools:main' into fix-swagger-artifact-annotations 2026-07-28 16:38:34 +05:30
auth api/compat: switch to moby/moby 2026-03-09 11:09:23 +01:00
autoupdate RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
bindings pkg/bindings: add tests for ToParams and helpers 2026-06-26 17:05:40 +05:30
channel bump golangci-lint to v1.50.1 2022-12-15 13:39:56 +01:00
checkpoint checkpoint: close rootfs tar stream after use 2026-06-24 12:32:18 +03:00
copy pkg/copy: add tests for ParseSourceAndDestination 2026-06-24 22:25:26 +05:30
criu deps: bump go-criu to v8.2.0 2026-06-09 11:51:46 -07:00
ctime update golangci/golangci-lint to v1.63.4 2025-01-07 15:48:53 +01:00
domain image scp: describe and validate the compression options 2026-09-07 15:59:33 +01:00
emulation fix some missing scanner error checks 2026-06-30 10:32:32 +02:00
env run modernize -fix ./... 2025-09-10 16:17:04 +02:00
errorhandling pkg/errorhandling: remove deadcode 2025-06-26 19:37:14 +02:00
farm RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
fileserver RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
inspect RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
k8s.io RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
logiface run modernize -fix ./... 2025-09-10 16:17:04 +02:00
lookup Replace os.Is* error checks with errors.Is 2026-05-21 13:09:42 -07:00
machine Merge pull request #28687 from jaitjacob/add-podman-machine-restart-command 2026-07-22 09:53:10 +05:30
namespaces pkg/namespaces: add tests for UsernsMode and NetworkMode 2026-06-30 16:50:07 +05:30
parallel RUN-4539: Change podman module paths 2026-04-22 14:02:25 -05:00
pidhandle add missing O_CLOEXEC to open calls 2026-04-02 15:06:37 +02:00
ps fix: Handle healthcheck log corruption gracefully 2026-06-29 13:03:47 +02:00
rctl use strings.SplitSeq where possible 2025-09-10 16:17:04 +02:00
rootless pkg/rootless: modernize 2026-05-22 12:25:21 -07:00
seccomp pkg: switch to golang native error wrapping 2022-07-08 08:54:47 +02:00
selinux bump selinux to v1.15.1, use SetProcessKind 2026-06-02 11:18:34 -07:00
signal enable gofumpt formatter 2025-11-11 12:32:46 +01:00
specgen chore: fix some comments to improve readability 2026-07-19 22:18:33 +08:00
specgenutil specgen: move log_path handling over to the server 2026-06-03 09:22:50 +05:30
specgenutilexternal pkg/specgenutilexternal: add tests for FindMountType 2026-07-08 17:46:55 +05:30
syncmap Add syncmap package and use it for graph stop/remove 2025-02-17 14:32:34 -05:00
systemd chore: fix some comments to improve readability 2026-07-19 22:18:33 +08:00
terminal Fix Lint on Windows and enable the job 2024-02-20 08:06:18 -05:00
trust Replace os.Is* error checks with errors.Is 2026-05-21 13:09:42 -07:00
util Honor label filters for volume prune when all is set 2026-06-29 17:51:27 +08:00