Commit graph

2715 commits

Author SHA1 Message Date
Jan Rodák
4edc8d68e3
Merge pull request #29484 from ellieayla/artifact-list-json-output
feat: Add output format: podman artifact ls --format=json
2026-08-19 17:41:01 +02:00
ellieayla
f596bb7a73 feat: Add output format: podman artifact ls --format=json
The 'podman artifact ls' command supports a --format flag accepting a go template string. Some commands (eg 'podman image ls') accept a --format=json parameter, and export pure json object to stdout.

This change adds a --format=json output mode to artifact lists too.

Includes simple documentation mention of --format=json option alongside go template description.

Signed-off-by: ellieayla <1447600+me@users.noreply.github.com>
2026-08-19 10:18:10 -04:00
Jan Rodák
c21fb45ac8
Merge pull request #29378 from danishprakash/fix-farm-build-tag
farm: handle tagged --tag references on build
2026-08-19 09:55:37 +02:00
Danish Prakash
5745ac69e0
farm: handle tagged --tag references on build
podman farm build pushes each per-arch image to the registry by
appending `UnknownDigestSuffix` to the image specified using --tag. This
fails because a tag is not expected when UnknownDigestSuffix is used.
Parse the image reference and pass only the untagged image
reference when podman does this suffixed push to the registry.

Fixes #25039

Co-authored-by: Kevin Crocombe <kevin.crocombe@pegortech.co.uk>
Signed-off-by: Danish Prakash <contact@danishpraka.sh>
2026-08-19 12:44:54 +05:30
Matt Heon
4c253a899e
Merge pull request #29540 from hihry/fix/updateDocs
docs: remove hardcoded config paths in favor of man page references (#29187)
2026-08-18 15:01:23 -04:00
hihry
65a33be7ed docs: remove hardcoded config paths in favor of man page references
Remove hardcoded configuration file directory paths from podman.1.md and podman-image-trust.1.md.in. Instead of hardcoding paths that become outdated, direct readers to their respective man pages (such as containers.conf(5) and containers-policy.json(5)) for complete path resolution details.

Fixes: #29187

Signed-off-by: hihry <work.himanshu.r.v@gmail.com>
Signed-off-by: Himanshu Ravindra Iwanati <work.himanshu.r.v@gmail.com>
2026-08-18 19:50:32 +05:30
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
Matt Heon
3f62b3cf46
Merge pull request #29503 from Luap99/rm-locale
docs: remove locale translations
2026-08-14 09:20:59 -04:00
Paul Holzinger
ac43fe8091
docs: remove locale translations
They are currently not shown anywhere so they provide no real value to
end users. They also have not been updated since they were added three
years ago.

Most users never update markdown.po but some did so that creates
unnecessary diffs on PRs for things that add no value.

To avoid that lets just remove them, as discussed at the community
meeting on Aug 13 2026. We are not against having translations again in
the future but it would need to have a proper process in place with
active people maintaining them and so that it shows up somewhere useful.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-08-13 18:39:18 +02:00
David Meech
628687787c docs/quadlet-list-output: reflect ls alias addition in subcoommand tables
Signed-off-by: David Meech <davemeech@proton.me>
2026-08-12 17:07:02 -04:00
David Meech
3658a91070 docs/quadlet-list-output: add alias list to secret ls manpage
Signed-off-by: David Meech <davemeech@proton.me>
2026-08-12 17:07:02 -04:00
David Meech
49d4d75bf1 docs/quadlet-list-output: remove runc reference from runtime-flag in postman.1.md
Signed-off-by: David Meech <davemeech@proton.me>
2026-08-12 17:07:02 -04:00
David Meech
037abbe870 docs/quadlet-list-output: add default outputs in quadlet-list manpage
Signed-off-by: David Meech <davemeech@proton.me>
2026-08-12 17:07:01 -04:00
David Meech
88856d9577 docs/quadlet-list-output: add alias list to artifact and network ls manpages
Signed-off-by: David Meech <davemeech@proton.me>
2026-08-12 17:07:01 -04:00
David Meech
cff7f8fdaa docs/quadlet-list-output: remove help entry from postman-artifact-pull manpage
Signed-off-by: David Meech <davemeech@proton.me>
2026-08-12 17:07:01 -04:00
David Meech
6de99de4cb docs/quadlet-list-output: add default outputs in artifact-ls manpage
Signed-off-by: David Meech <davemeech@proton.me>
2026-08-12 17:07:01 -04:00
Paul Holzinger
5207886178
Merge pull request #29285 from satwiksps/keep-groups-limitation
docs: document keep-groups limitation with systemd services
2026-08-11 17:20:10 +02:00
Jan Rodák
6394caebcd
Merge pull request #29417 from sahilnyk/quadlet-umask
quadlet: add Umask= key to set container umask without PodmanArgs
2026-08-11 14:05:30 +02:00
Salih Muhammed
aec2f54ec6 quadlet: expand %N specifier in the Pod key
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
The Pod key of a .container unit accepts systemd specifiers, but handlePod
looked the referenced pod up in the units map using the raw value, so
"Pod=%N.pod" failed with "quadlet pod unit %N.pod does not exist" instead
of resolving to the pod named after the container's service.

Expand %N to the container's service name before the lookup, matching the
existing handling in GetContainerResourceName. Since %N is the service
name, setting ServiceName= lets the container and pod unit files use
different names.

Add e2e cases for both combinations: a pod named after the container
file, and a pod named after a ServiceName that differs from the file
name.

Fixes: #29108
Signed-off-by: Salih Muhammed <root@lr0.org>
2026-08-09 04:23:53 -04:00
Sahil Nayak
bda5521804 quadlet: add Umask= key to set container umask without PodmanArgs
Fixes: #25278

Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
Signed-off-by: Sahil Nayak <contactsahilpnayak@gmail.com>
2026-08-07 16:17:35 +05:30
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
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
Satwik Sai Prakash Sahoo
02f0ee0de0
docs: document keep-groups limitation with systemd services
When --group-add keep-groups (or GroupAdd=keep-groups in Quadlet) is
used, supplementary groups are inherited from the calling process. When
Podman is launched via a systemd user service, the calling process is
the systemd --user manager, which only has the groups assigned to the
user at the time the manager was started.

If the user was added to new groups after the systemd user session
started (e.g. via usermod), those groups will not be visible to the
container. This is expected Linux process credential behavior, but was
undocumented, causing confusion for Quadlet users.

Add notes to both option and Quadlet docs explaining this behavior and
the workaround (restarting the user's systemd manager).

Fixes: #27876
Signed-off-by: Satwik Sai Prakash Sahoo <sahoospsatwik@gmail.com>
2026-08-04 01:35:18 +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
Matt Heon
48a6ef9cdf
Merge pull request #29298 from satwiksps/docs-transient-store-volumes
docs: clarify --transient-store behavior with volumes
2026-07-29 12:12:15 -04:00
Satwik Sai Prakash Sahoo
e6eab216e6
docs: clarify --transient-store behavior with volumes
Document that only the Podman database is transient, not volume data on
disk. After a reboot, volumes created under --transient-store lose their
database entries but the underlying data persists and can be reused.
Mention podman system prune --external for cleaning up orphaned volume
data, and note that it should be used consistently across all commands.

Fixes: #25295
Signed-off-by: Satwik Sai Prakash Sahoo <sahoospsatwik@gmail.com>
2026-07-28 11:39:12 +05:30
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
Jan Rodák
c0fb461475
Merge pull request #29237 from gastoner/add-memavailable-support
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
feat(info): add memAvailable to host info
2026-07-22 10:15:52 +02:00
Evzen Gasta
a19b696de1 feat(info): add memAvailable to host info
Expose MemAvailable alongside MemFree/MemTotal in `podman info` host
section, sourced from libpod/define/info.go's MemInfo.

Fixes: #29116 https://github.com/podman-container-tools/podman/issues/29116

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Evzen Gasta <evzen.ml@seznam.cz>

test(info): add coverage for host.memAvailable

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Evzen Gasta <evzen.ml@seznam.cz>
2026-07-22 08:41:59 +02: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
Jan Rodák
a0da2d92d4
docs: clarify network create isolate option
Fixes: https://github.com/podman-container-tools/podman/issues/29162

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-07-20 21:40:44 +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
Jan Rodák
b7df877de7
Merge pull request #29128 from Lekensteyn/fix-storage-opt-docs
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
docs/podman.1: clarify effective storage driver options
2026-07-10 10:36:04 +02:00
Peter Wu
53d05f68ff docs/podman.1: clarify effective storage driver options
Use of the `podman --root` option unexpectedly cleared the default
storage options from the configuration file and environment variable.
Make sure to document this behavior with the `--storage-opt` option.
This behavior changed in commit 55f00bac02 ("Clear the storage-options
from the graphdriver if users specifies --root", v3.3.0).

Fix `--root` and `--storage-driver` docs, there is no `storage-opt`
setting in `containers-storage.conf(5)`. Use `storage.options.<driver>`
instead of `storage.options.*` to avoid implying that
`storage.options.pull_options` would also be ignored.

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2026-07-09 00:43:39 +02:00
cyqsimon
bd753bfe2e
docs: improve docs on relabelling options of --mount
Resolves #29124.

Signed-off-by: cyqsimon <28627918+cyqsimon@users.noreply.github.com>
2026-07-07 22:50:16 +08:00
Danish Prakash
4f04d9e7c5
Merge pull request #29129 from jiwahn/fix-mount-idmaps-docs
docs: clarify idmap mount option syntax
2026-07-07 16:02:46 +05:30
Jiwoo Ahn
b768c1c2b5 docs: clarify idmap mount option syntax
Fixes: #24249

Signed-off-by: Jiwoo Ahn <ikwydls1314@gmail.com>
2026-07-05 23:39:18 +09:00
Paul Holzinger
4b5c1b67bf
docs: update network create --route description
The netavark mention is not needed as we only support it now. Then
update it for the new route type syntax which was not documented in
commit daaf8b62ba.

Also add an example and a note that containers with CAP_NET_ADMIN can
alter routes still.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-03 16:57:21 +02:00
Paul Holzinger
adb2307e18
docs: fix network create no_default_route doc
With netavark v2 we require true not 1.

This was correctly changed in commit bb02e49080 but then reverted in
commit 7612af4c0e again as it did not properly rebase and solve the
conflicts.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-03 16:15:52 +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
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
Shuai Yuan
4586dc2c60 Honor label filters for volume prune when all is set
NormalizeVolumePruneFilters discarded every query filter when the "all"
pseudo-filter was set, deleting label/label!/until before they reached the
volume filter generator. As a result `podman volume prune --all --filter
label=foo` ignored the label and pruned every unused volume.

"all" only widens the prune scope from anonymous-only to all unused volumes;
it is orthogonal to the label filters, which must still select which of those
volumes are removed. Drop only the "all" key and keep the remaining filters so
they continue to apply.

NormalizeVolumePruneFilters is shared by the local (abi), remote (libpod API),
and Docker-compat prune paths, so all three were affected.

Signed-off-by: Shuai Yuan <shuaiyuanzju@gmail.com>
2026-06-29 17:51:27 +08:00
Brent Baude
1479c7d6b6
Merge pull request #29017 from Luap99/readthedocs
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
build the swagger.yml on readthedocs
2026-06-23 13:45:12 -05:00
Paul Holzinger
c2ffe88ce0
build the swagger.yml on readthedocs
One problem with the swagger upload is we need an extra bucket and then
we need our own custom version schema and selector on the website. If we
can just embed the swagger.yml as part of the official build we can get
rid of all of that and have a much simpler way as the regular
readthedocs version selector will work.

We also no longer need to maintain an extra bucket upload and no longer
need to update the version list which was forgotten all the time.

Fixes: #28827

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-23 19:10:34 +02:00
Paul Holzinger
50a7acb364
Revert "docs: introduce custom version selector in api.html"
This reverts commit f87c8b9cba.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-23 19:09:30 +02:00
Paul Holzinger
250c530055
Revert "docs: generate Reference version list from json file"
This reverts commit 858150288f.

In the next commit I add a custom build for the swagger yaml which adds
it as part of the main readthedocs build so we can use the default
version selector and drop our custom workarounds.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-23 19:09:30 +02:00
Lewis Denny
11f8197b3f [DOCS] Update save and load docs to make dir loading support clearer
Podman remote clients don't support loading images from directories,
this patch aims to make that clearer.

This patch also aims to make it clearer that podman-load can load from
URLs, directories and tar archives.

Drop incorrect claims that --input is required on remote clients
(stdin reading is supported) and avoid 'Linux only' wording since
podman has native FreeBSD support.

Fixes: https://github.com/containers/podman/issues/27952

Signed-off-by: Lewis Denny <lewisdenny@me.com>
2026-06-24 02:11:19 +10:00
Matt Heon
a2280a3e87
Merge pull request #28380 from simonbrauner/issue-26960
Handle uninstantiated template quadlets
2026-06-23 11:36:34 -04: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
Radostin Stoyanov
2c7aeab70b Freeze cgroup during live checkpoint
When checkpointing a container with --leave-running, libpod dumps the
container's memory via the OCI runtime (CRIU) first and only captures
the rootfs diff and named volumes afterwards. CRIU thaws the container
as soon as the memory dump finishes, so the processes inside the
container continue to run between the memory snapshot and the
file-system capture. As a result, the checkpoint can be inconsistent:
have CRIU images and a file system that reflect different points in time.

To fix this, we freeze the container's cgroup before invoking the OCI
runtime and thaw it again only after the checkpoint image/archive has
been written. The OCI runtime calls CRIU with the freezer cgroup and
restores it to its previous state once the dump completes, so a
container that was already frozen stays frozen across the dump and
the file system is captured at the same instant as the CRIU images.
This mirrors the approach other engines (e.g. CRI-O and containerd).

The default (stopping) checkpoint functionality is not affected by this
issue because CRIU leaves the tasks dead after the dump.

This patch also adds a regression test for the consistency of live
(--leave-running) checkpoints. The container runs a workload that
keeps an in-memory counter in sync with a value written to a file
on its root file system, maintaining the invariant that the on-disk
value never gets ahead of the in-memory counter.

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2026-06-23 13:30:32 +01:00