Commit graph

4508 commits

Author SHA1 Message Date
Jan Rodák
dbd571e1ee
Merge pull request #29286 from GlediLami/fix-wslkerninst-filepath
podman-wslkerninst: remove unused binary
2026-08-18 11:17:14 +02:00
Matt Heon
db8802b1a3
Merge pull request #29536 from umar11b/farm-list-quiet
farm: add --quiet/-q flag to podman farm list
2026-08-17 16:23:19 -04:00
Jan Rodák
4b6873a5ef
Merge pull request #29527 from vishnukothakapu/perf-strings-equalfold
Performance: Replace strings.ToLower with strings.EqualFold
2026-08-17 21:59:25 +02:00
Paul Holzinger
5b366f4b34
Merge pull request #29511 from vishnukothakapu/perf-regexp-mustcompile
Performance: Hoist regexp.MustCompile out of functions
2026-08-17 12:53:04 +02:00
Gledis Lami
d35de2253c podman-wslkerninst: remove the unused binary
The Windows installer no longer references this binary: the WiX bundle
entry that launched it was removed in 91e4f69 ("Remove the option to
install WSL/HyperV") and the build step in df4aed7 ("Remove providers
checks from the Windows Installer"). Nothing else in the tree references
it, so the code is dead.

Removing it supersedes the earlier path.Base to filepath.Base fix: with
the binary gone there is no log prefix to repair.

Related to: #25165

Signed-off-by: Gledis Lami <lamigledi@gmail.com>
2026-08-16 11:58:31 +02:00
umar11b
db6edf74c8 farm: add --quiet/-q flag to podman farm list
The farm command is helpful when it comes to building
multi-architecture container images, with a build out on various
different CPU architecture machines (e.g. amd64, arm64 etc). This
produces a multi-architecture image usable on many different kinds
of machines. Once those farms are built, we can list them out (ls)
in a human readable format.

Currently, podman farm list prints out every field (name,
connections, default, etc). The --quiet/-q flags cut the noise by
only printing the names of the farms, rather than all the other
farm list metadata.

The benefit of having this feature is for automation and scripts to
pull just the farm names from the list, which is mostly important
for CI pipelines to loop over.

Signed-off-by: umar11b <uzaman2018@gmail.com>
2026-08-15 20:52:18 -04:00
Vishnu Kothakapu
0a2350324a Performance: Replace strings.ToLower with strings.EqualFold
Replaces unnecessary heap allocations for case-insensitive equality
checks with standard library strings.EqualFold.

Fixes: #29526
Signed-off-by: Vishnu Kothakapu <vishnukothakapu27@gmail.com>
2026-08-15 02:17:47 +05:30
Vishnu Kothakapu
e3797d95b1 Performance: Use delayed regex compilation
Replaces regexp.MustCompile with regexp.Delayed from go.podman.io/storage/pkg/regexp
for global regular expressions. This avoids compiling regular expressions
during the global init scope, improving startup performance for all commands.

Tests are kept using regexp.MustCompile where applicable.

Fixes: #29510
Signed-off-by: Vishnu Kothakapu <vishnukothakapu27@gmail.com>
2026-08-14 21:14:17 +05:30
Jan Rodák
cb7553bade
Merge pull request #29494 from nXtCyberNet/issue/ci
added errorlint
2026-08-14 15:02:05 +02:00
nXtCyberNet
f76d9de01a added errorlint
Fixes: #29488
Signed-off-by: nXtCyberNet <rohantech2005@gmail.com>
2026-08-14 01:35:03 +05:30
Paul Holzinger
ee19baad21
Merge pull request #29258 from mdiniz97/fix-25362-config-log-level
Ensure log level is applied before loading configuration
2026-08-13 15:40:14 +02:00
Marcos Paulo Diniz
18e1154e73 fix(config): apply log level before loading
Podman loads containers.conf before Cobra processes global flags, hiding debug and trace diagnostics emitted during configuration parsing.

Parse early CLI options once so logging is configured first, then reuse the result for modules and remote-mode selection.

Fixes: #25362
Signed-off-by: Marcos Paulo Diniz <marcosdinizpaulo@gmail.com>
2026-08-13 09:24:37 -03:00
Danish Prakash
4a67addbd4
Merge pull request #29403 from shivaansh0610-LUFFY/fix/quadlet-filepath-base-25165
Some checks are pending
ci / sys local root fedora-prior (push) Blocked by required conditions
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
cmd/quadlet: use filepath instead of path package for host paths
2026-08-10 10:48:49 +05:30
Matt Heon
55c2d1c490
Merge pull request #25161 from danishprakash/empty-ignore-file
Some checks failed
ci / int local root fedora-prior (push) Has been cancelled
ci / sys local root fedora-prior (push) Has been cancelled
ci / int local rootless fedora-prior (push) Has been cancelled
ci / sys local rootless fedora-prior (push) Has been cancelled
ci / int remote root fedora-prior (push) Has been cancelled
ci / sys remote root fedora-prior (push) Has been cancelled
ci / int local root fedora-rawhide (push) Has been cancelled
ci / sys local root fedora-rawhide (push) Has been cancelled
ci / int local rootless fedora-rawhide (push) Has been cancelled
ci / sys local rootless fedora-rawhide (push) Has been cancelled
ci / int remote root fedora-rawhide (push) Has been cancelled
ci / sys remote root fedora-rawhide (push) Has been cancelled
ci / apiv2 root fedora-current (push) Has been cancelled
ci / bindings root fedora-current (push) Has been cancelled
ci / compose_v2 root fedora-current (push) Has been cancelled
ci / docker_py root fedora-current (push) Has been cancelled
ci / unit root fedora-current (push) Has been cancelled
ci / apiv2 rootless fedora-current (push) Has been cancelled
ci / compose_v2 rootless fedora-current (push) Has been cancelled
ci / unit rootless fedora-current (push) Has been cancelled
ci / upgrade v5.3.1 root fedora-current (push) Has been cancelled
ci / upgrade v5.6.2 root fedora-current (push) Has been cancelled
ci / machine linux amd64 (push) Has been cancelled
ci / windows unit (push) Has been cancelled
ci / windows e2e (push) Has been cancelled
ci / windows machine hyperv (push) Has been cancelled
ci / windows machine wsl (push) Has been cancelled
ci / macos machine applehv (push) Has been cancelled
ci / macos machine libkrun (push) Has been cancelled
ci / Total Success (push) Has been cancelled
build: pass ignore file to buildah to consider empty ignore files
2026-08-07 07:57:30 -04:00
Matt Heon
0ad5459fab
Merge pull request #29145 from ROKUMATE/feat-playkube-warn-unknown-keys
Some checks are pending
ci / sys local root fedora-prior (push) Blocked by required conditions
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
podman kube play: add --validate=ignore|warn|strict flag
2026-08-06 18:21:03 -04:00
SHIVAANSH0610_LUFFY
a01a54e72b
cmd/quadlet: use filepath instead of path package for host paths
Replace path package functions (path.Base, path.Join, path.Dir) with
filepath equivalents in cmd/quadlet/main.go.

Using filepath ensures consistency across operating systems when manipulating
host filesystem paths.

Related to: #25165

Signed-off-by: SHIVAANSH0610_LUFFY <shivaansh0610@gmail.com>
2026-08-06 19:29:21 +05:30
ROKUMATE
0d09e609e4 add validate flag to podman kube play
ignore warn and strict modes for unknown yaml fields and kinds
ignore is the default and skips them warn reports them strict fails
warnings are returned in the play report so they show up in the cli and over the api for tools like podman desktop

Closes #18332

Signed-off-by: ROKUMATE <rohitkumawat0110@gmail.com>
2026-08-05 17:42:40 +05:30
Paul Holzinger
67aa9604b5
Merge pull request #28980 from stefan8/fix/image-volume-default-anonymous
docs: fix --image-volume default and accepted values
2026-08-03 18:56:39 +02:00
MayorFaj
bb591863e6 docs: clarify podman compose containers.conf table
Clarify that the compose_providers and compose_warning_logs settings belong in the [engine] table of containers.conf.

Fixes: #29122
Signed-off-by: MayorFaj <mayorfaj@gmail.com>
2026-07-25 10:11:58 +01:00
Danish Prakash
e121ed6264
Merge pull request #28687 from jaitjacob/add-podman-machine-restart-command
Add `podman machine restart` subcommand
2026-07-22 09:53:10 +05:30
Paul Holzinger
4be46f8661
podman-remote: do not check for cgroupv2
With the remote client on linux we should not check for cgroups and hard
fail if it is not v2. Only the server side matters not the client.

The problem can be reproduced with:
unshare -rm sh -c "mount -t tmpfs none /sys/fs/cgroup  && ./bin/podman --remote ps"

I did not add a regression test as it does not seem to fit well into a
test suite, over mounting cgroups seems like not a good idea.

Fixes: #29241

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-21 18:13:11 +02:00
Jait Jacob
2ad3a79631
Add podman machine restart subcommand
Signed-off-by: Jait Jacob <jai8.jacob@gmail.com>
2026-07-16 21:51:11 +05:30
Giuseppe Scrivano
72da6a0a87
Merge pull request #29079 from mvanhorn/fix-quadlet-verify-stderr-logging
Some checks are pending
ci / sys local root fedora-prior (push) Blocked by required conditions
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
fix: quadlet generator emits diagnostics to stderr under systemd-analyze verify
2026-07-16 14:38:39 +02:00
mvanhorn
6d57281d6a
quadlet: explicitly discard logToKmsg return in Logf
Logf now always writes to stderr, so the kmsg write is best-effort and
its bool return is intentionally ignored. Make the discard explicit with
`_ = logToKmsg(line)` per review, rather than leaving it implicit.

Signed-off-by: mvanhorn <mvanhorn@gmail.com>
2026-07-15 20:04:22 -07:00
Paul Holzinger
1ecbae1b5f
fix broken kube play --wait behavior
There is a race condition in the signal handling which manifests itself
as flake in our CI.
In short the old code was running the signal handler in a goroutine but
never waited for it to be finished the main routine just waits for the
container exit so it was possible the process exits in PlayKubeDown()
between the PodStop and PodRm calls. So the container/pod was leaked and
thus the test fails.
This can be easily reproduced by adding a sleep there.

To fix this properly we use a wait group to ensure the goroutine is
finished before we exit. Then there is also no need for the extra bool
and teardown on the non signal path. We can just close the channel there
and cleanup via the signal goroutine which will always fire when the
channel is closed.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-14 14:50:55 +02:00
Salih Muhammed
20eae39b13
Only suggest --replace for commands that have the flag
formatError appended "or use --replace to instruct Podman to do so" to
every error wrapping storage.ErrDuplicateName, even for commands like
"podman manifest create" that have no --replace flag, telling users to
use a flag that does not exist.

Resolve the invoked command via ExecuteContextC and only add the hint
when that command actually defines a --replace flag.

Fixes: #24537
Signed-off-by: Salih Muhammed <root@lr0.org>
2026-07-03 01:35:16 +03:00
Paul Holzinger
d9a2250d3c
Merge pull request #29086 from Luap99/machine-upgrade
Some checks are pending
ci / sys local root fedora-prior (push) Blocked by required conditions
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
fix podman machine os upgrade distro check
2026-07-02 17:18:00 +02:00
Danish Prakash
7be083cc66
build: pass ignore file to buildah to consider empty ignore files
We currently only pass parsed excludes from the ignore file to buildah
and not the ignorefile path. This causes buildah to ignore
`--ignorefile` if the specified file is empty resulting in an empty
exludes. Forward ignoreFile to the server and allow overriding default
ignore files.

Signed-off-by: Danish Prakash <contact@danishpraka.sh>
2026-07-02 20:24:11 +05:30
Jan Rodák
e852389e55
Merge pull request #29071 from Luap99/scannererr
fix missing error checks for bufio.Scanner
2026-07-02 14:55:12 +02:00
Paul Holzinger
db8f8298dd fix podman machine os upgrade distro check
We renamed the variant in machine-os to podman-machine-os so it is not
coreos:
a5c8fbcfc6

Now the main issue with this is the code runs inside the VM, which means
updates from 6.0.0 to the next one still will be broken and needs the os
apply command until this can work again. Of course a new init will also
work with the new image.

Fixes: #29085

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-30 15:12:08 +02:00
Paul Holzinger
9a3bf9986f
machine return read errors from GetDistribution
If the scanner fails to read the file we should return an error to the
user and not make assumptions on the returned value here.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-30 10:32:32 +02:00
Matt Van Horn
f49b4b3f84
fix: emit quadlet generator logs to stderr even when kmsg succeeds
Logf wrote to /dev/kmsg and only fell back to stderr when the kmsg
write failed or -dryrun was set. As root the kmsg write succeeds, so
nothing reached stderr and `sudo systemd-analyze --generators verify`
(which captures stderr, not kmsg) showed no diagnostics, while the same
command without sudo did.

Write to /dev/kmsg best-effort for early-boot/journal capture AND always
copy the same line to stderr so verify and interactive sudo runs surface
the messages. Rootless behavior is unchanged.

Fixes: #28888
Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
2026-06-29 23:58:20 -07:00
Šimon Brauner
64ab8171ed Use atomic file writer for quadlet unit files
Fixes: https://github.com/podman-container-tools/podman/issues/29004

Signed-off-by: Šimon Brauner <sbrauner@redhat.com>
2026-06-29 22:23:57 +02:00
Grzegorz Szczepanczyk
44284406aa podman: warn on deprecated --image-volume=bind
"bind" is a deprecated alias for "anonymous" (documented in the preceding
commit). Emit a warning from CreateInit so that "podman create" and "podman
run" nudge users who pass --image-volume=bind toward --image-volume=anonymous.

The warning only fires when the value is explicitly set to "bind"; the
resulting behavior is otherwise unchanged.

Signed-off-by: Grzegorz Szczepanczyk <g.szczepanczyk@getprintbox.com>
2026-06-29 16:20:47 +02:00
Grzegorz Szczepanczyk
da5b172766 docs: fix --image-volume default and accepted values
The docs, the create/run --help text and the shell completion all show
"bind" as the main/default value for --image-volume. That's wrong: the
accepted values are ignore | tmpfs | anonymous
(pkg/specgen/container_validate.go), the default is anonymous
(pkg/specgen/specgen.go), and "bind" is only a deprecated alias the code
maps to anonymous (pkg/specgenutil/specgen.go,
pkg/specgen/generate/kube/kube.go).

Show "anonymous" everywhere (options man page, the Quadlet ImageVolume=
key, --help, completion) and note that "bind" still works as a deprecated
alias. Behavior is unchanged.

Fixes: #27674

Signed-off-by: Grzegorz Szczepanczyk <g.szczepanczyk@getprintbox.com>
2026-06-29 12:35:25 +02:00
Šimon Brauner
010e7ce556 Handle uninstantiated template quadlets
Fixes: https://github.com/containers/podman/issues/26960

Signed-off-by: Šimon Brauner <sbrauner@redhat.com>
2026-06-23 14:34:20 +02:00
Paul Holzinger
4ae189843b
Merge pull request #28637 from ValentinTorassa/manifest-push-retry-options
Some checks are pending
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
Publish swagger / Build and publish swagger.yaml (push) Waiting to run
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
Add --retry support to manifest push
2026-06-23 12:00:03 +02:00
KyounghoonJang
9e38f86993 feat: add --ignore flag to network rm
Add `--ignore` to `podman network rm` so removing a missing
network returns success instead of exit code 1.

Keep existing error behavior for networks in use and other failures.

This commit message was translated from Korean to English using an LLM.

Fixes: #28363
Signed-off-by: KyounghoonJang <matkimchi_@naver.com>
2026-06-23 10:52:47 +09:00
Valen Torassa
72349937e3 Add --retry support to podman manifest push
This patch adds retry plumbing for podman manifest push.

CLI flags added: --retry and --retry-delay
Flags are read into ImagePushOptions and passed through the local ABI path
Remote clients and REST API now respect retry settings (retry / retryDelay)
retry-delay is parsed with time.ParseDuration
Defaults fall back to containers.conf when the flags are not set
Updated manpages, Swagger comments, and e2e tests to validate retry behavior

Fixes: #28590

Signed-off-by: Valen Torassa <valentintorassacolombero@gmail.com>
2026-06-22 15:49:27 -03:00
Paul Holzinger
eb3c0f4c1a
Merge pull request #28957 from shuaiyuanxx/exec-honor-console-size
exec: honor ConsoleSize so the terminal is sized at creation
2026-06-22 16:30:13 +02:00
Shuai Yuan
f5efef5043 exec: honor ConsoleSize so the terminal is sized at creation
The exec API accepts a ConsoleSize but it is dropped: the exec
pseudo-terminal is created at its default size and only corrected
afterwards by an asynchronous resize. A short-lived exec that reads its
window size at startup (e.g. `stty size`) can therefore observe the wrong
size, because the resize may arrive after the process has already read it.
docker applies the size at creation.

Carry the requested ConsoleSize through ExecConfig and into the exec OCI
process spec (process.consoleSize) so the runtime sizes the terminal
before the process starts, removing the race. The local and remote CLIs
capture the caller's terminal size when -t is given and pass it through
ExecOptions, matching the behavior of `podman run`.

Re-enable the previously flaky `podman exec` case in the interactive
system test, which this change makes deterministic.

Signed-off-by: Shuai Yuan <shuaiyuanzju@gmail.com>
2026-06-22 10:36:10 +08:00
Matt Heon
df12c9806c
Merge pull request #28214 from MayorFaj/feat/28189-volume-rename
Some checks are pending
ci / int local rootless fedora-prior (push) Blocked by required conditions
ci / sys local rootless fedora-prior (push) Blocked by required conditions
ci / int remote root fedora-prior (push) Blocked by required conditions
ci / sys remote root fedora-prior (push) Blocked by required conditions
ci / int local root fedora-rawhide (push) Blocked by required conditions
ci / sys local root fedora-rawhide (push) Blocked by required conditions
ci / int local rootless fedora-rawhide (push) Blocked by required conditions
ci / sys local rootless fedora-rawhide (push) Blocked by required conditions
ci / int remote root fedora-rawhide (push) Blocked by required conditions
ci / sys remote root fedora-rawhide (push) Blocked by required conditions
ci / apiv2 root fedora-current (push) Blocked by required conditions
ci / bindings root fedora-current (push) Blocked by required conditions
ci / compose_v2 root fedora-current (push) Blocked by required conditions
ci / docker_py root fedora-current (push) Blocked by required conditions
ci / unit root fedora-current (push) Blocked by required conditions
ci / apiv2 rootless fedora-current (push) Blocked by required conditions
ci / compose_v2 rootless fedora-current (push) Blocked by required conditions
ci / unit rootless fedora-current (push) Blocked by required conditions
ci / upgrade v5.3.1 root fedora-current (push) Blocked by required conditions
ci / upgrade v5.6.2 root fedora-current (push) Blocked by required conditions
ci / machine linux amd64 (push) Blocked by required conditions
ci / windows unit (push) Blocked by required conditions
ci / windows e2e (push) Blocked by required conditions
ci / windows machine hyperv (push) Blocked by required conditions
ci / windows machine wsl (push) Blocked by required conditions
ci / macos machine applehv (push) Blocked by required conditions
ci / macos machine libkrun (push) Blocked by required conditions
ci / Total Success (push) Blocked by required conditions
Publish swagger / Build and publish swagger.yaml (push) Waiting to run
zizmor: GitHub Actions Security Analysis / Zizmor (push) Waiting to run
feat: implement volume rename functionality
2026-06-18 14:47:35 -04:00
Jan Rodák
d222b0ae07
Fix staticcheck SA4023 warnings in call.go and sign.go
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-06-12 09:53:20 +02:00
Jan Rodák
fc433a9b27
Replace deprecated strings.Title with manual capitalization
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-06-12 09:53:19 +02:00
MayorFaj
d01b7ae534 libpod: add volume rename support
Add a podman volume rename command, REST API endpoint, and bindings for renaming volumes.

The rename updates both the VolumeConfig and VolumeState tables in a single transaction and moves the volume directory on disk, rolling back if the transaction fails. Renaming an anonymous volume converts it to a named volume. Volumes that are in use, mounted, or backed by a volume plugin or the image driver cannot be renamed.

Fixes: #28189
Signed-off-by: MayorFaj <mayorfaj@gmail.com>
2026-06-11 21:56:15 +01:00
Paul Holzinger
22e2f85311
fix small lint error
This was report on of of my PRs, I do not know why this fails there all
of the sudden, it seems golangci-lint has gotten flaky recently.

Locally the linter passes without this change just fine but in CI this
seems to fail:

Error: cmd/podman-testing/call.go:58:22: SA4023(related information): the lhs of the comparison is the 1st return value of this function call (staticcheck)
	reflectionClient := reflectionv1.NewServerReflectionClient(grpcClient)
	                    ^
Error: cmd/podman-testing/call.go:59:5: SA4023: this comparison is never true (staticcheck)
	if reflectionClient == nil {
	   ^

The lint seems right, NewServerReflectionClient never returns nil so
lets just fix it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-10 15:05:24 +02:00
Jan Rodák
331946fd79
Merge pull request #28876 from solunolab/main
chore: fix some function names in comment
2026-06-10 07:30:30 +02:00
Jan Rodák
3e6de5ffd7
Merge pull request #28854 from bit-hope/some-improvements-for-cmd-podman
Some improvements for cmd/podman
2026-06-09 12:02:22 +02:00
zhongchunhe.zch
a351cf32f1 Some improvements for cmd/podman
Signed-off-by: zhongchunhe.zch <zhongchunhe.zch@qq.com>
2026-06-08 20:45:23 +08:00
zhongchunhe.zch
45b9e6f1a2 fix: handle multiple networks in 'podman inspect --type=all'
Signed-off-by: zhongchunhe.zch <zhongchunhe.zch@qq.com>
2026-06-08 20:37:47 +08:00