spiegel_podman/pkg
Scott Callaway c6029f9ab7
image scp: compress a remotely produced archive on the source host
When the source is a remote host the archive is produced there, so it has to be
compressed there too: compressing after copying it down would mean the
uncompressed archive had already crossed the network, which is the cost this is
meant to avoid.

The only thing we can do on that host is run a command, so the matching
compressor is invoked over ssh between the save and the copy. That is also why
the set of formats is limited to algorithms available as a command of the same
name.

Two details worth stating. A shell reports 127 when it cannot find the command,
which is worth reporting plainly as a host without the compressor installed;
anything else, a failure to connect included, must not be reported that way,
and a probe beforehand cannot make that distinction without also costing an
extra connection. And the compressor removes its input only once it succeeds
and may have written part of its output before giving up, so a failure cleans
up both paths.

Signed-off-by: Scott Callaway <github@scottcallaway.co.uk>
2026-09-07 16:03:54 +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: compress a remotely produced archive on the source host 2026-09-07 16:03:54 +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