Commit Graph
372 Commits
Author SHA1 Message Date
Jan Rodák fd25df818b compat stats: fix system_cpu_usage, precpu_stats, one-shot CPU%, and docs
- Read system_cpu_usage from /proc/stat (first 7 CPU fields, including idle) instead of cgroups.SystemCPUUsage(), matching Docker semantics.
- Use CPU values from GetContainerStats() instead of a second cgroup read to avoid a timing gap.
- Populate precpu_stats on stream=false with a 100 ms sampling pauseso the Docker CPU% formula returns a directionally correc snapshot. This only affects the compat per-container endpoint; podman-remote stats uses a separate libpod handler.
- Return cpu_stats.cpu as 0 for one-shot=true since the two samples are only milliseconds apart.
- Replace direct precpu copy instead of JSON marshal/unmarshal round-trip.
- Propagate errors via fmt.Errorf instead of logrus.Errorf, letting callers decide how to handle them. Parse errors in /proc/stat fields are hard errors instead of silently returning partial data.
- Document that --no-stream CPU% is a coarse ~100 ms snapshot; streaming gives 5-second interval readings.

Fixes: https://github.com/podman-container-tools/podman/issues/28761
Fixes: https://github.com/podman-container-tools/podman/issues/24730
Fixes: https://github.com/podman-container-tools/podman/issues/29912
Fixes: https://github.com/podman-container-tools/podman/issues/25709

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-10-07 13:19:53 +02:00
Dean Chen bce0a59c3c docs: clarify --all-tags and --include-volumes behavior
Unqualified names with --all-tags always resolve via docker.io rather
than registries.conf search lists. Spell that out, and note that
--include-volumes only applies when set to true.

Fixes #23625
Fixes #15387

Signed-off-by: Dean Chen <862469039@qq.com>
2026-10-02 15:09:46 +02:00
Evan Purkhiser 9309b9183c auto-update: Add container filters
Allow deployments and scheduled jobs to update a selected group of
containers without checking every auto-update-enabled application.
Reuse the existing container filters and expose them through the CLI,
remote bindings, and REST API.

Filter update candidates while preserving systemd unit and pod restart
behavior. Document the selection semantics and cover filtered updates,
invalid input, remote requests, and pod restarts in the existing tests.

Signed-off-by: Evan Purkhiser <git@evanpurkhiser.com>
2026-09-17 11:16:58 -04:00
Paul Holzinger 91238111ba Merge pull request #27857 from arsenalzp/podman60_27724
Fix startup health check command behavior
2026-09-17 16:32:42 +02:00
seonghun lee 655b8cee14 Hide --cpu-rt-period/--cpu-rt-runtime and mark them as NOP
Podman 6 dropped cgroups v1 support, and the kernel real-time
scheduler cgroup settings only exist on cgroups v1. That means the
--cpu-rt-period and --cpu-rt-runtime options can never take effect
anymore: on cgroups v2 the values only produce a warning and are
discarded.

As agreed in the linked issue, the full removal of the options is
deferred to the next major release (7.0) to avoid a breaking change
for anyone still setting them. For 6.x this commit implements the
agreed interim step:

- remove the option documentation (docs/source/markdown/options/
  cpu-rt-period.md and cpu-rt-runtime.md) and drop the @@option
  references from the podman-create, podman-run, podman-update and
  podman-container-clone man pages
- hide both flags from --help output
- change the existing warning to state that the option is a NOP,
  that the value is ignored, and that the option will be removed in
  the next major release

The e2e tests are updated to match the new warning text. Actual
removal of the flags and the spec fields is left for Podman 7.0.

Part of #29750

Signed-off-by: seonghun lee <harrisleesh@gmail.com>
2026-09-17 01:15:52 +09:00
i-OmSharma 552b636939 docs: clarify that --ulimit size limits are in bytes
The value given to --ulimit is passed to the container unchanged and is
interpreted by setrlimit(2), so size limits such as memlock are in bytes.
The ulimit shell builtin scales most of those values when printing them
(kbytes for -d, -l, -m, -s, 512-byte blocks for -c, -f), which makes the
value reported inside the container look wrong.

Document the unit used by each limit type, add an example, and note that
unit suffixes are not accepted. No behavior change.

Fixes: #25236

Signed-off-by: i-OmSharma <sharmaom1201@gmail.com>
2026-09-16 15:24:58 +05:30
Oleksandr Krutko 91c3d1d8ec Fix health-startup-cmd behaviour when the value is not set
Fixes: #27724

Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>
2026-09-15 22:09:57 +03:00
Matt Heon f542424eab Merge pull request #29603 from gerryd/feature/create-passwd
Add support for --passwd to the create command
2026-08-27 22:03:01 -04:00
Gerry Demaret bd8de9f7aa Add support for --passwd to the create command
Give create the same --passwd flag as run currently has.

Signed-off-by: Gerry Demaret <gerry@x-net.be>
2026-08-27 15:46:30 +02:00
Matt Heon fbb90e15b0 Merge pull request #29541 from The-indigo/no-heading
Added implementation for --noheading option for podman farm list
2026-08-21 17:35:21 -04:00
Anisha Khairnar 0f9920fdb1 docs: fix the documented --detach-keys character list
Signed-off-by: Anisha Khairnar <anishakhairnar284@gmail.com>
2026-08-21 14:45:58 +05:30
Adeyemi Adepoju c7f04d0692 Added implementation for --noheading option for podman farm list
Signed-off-by: Adeyemi Adepoju <adepojuadeyemi11@gmail.com>
2026-08-20 13:02:58 -04:00
Paul Holzinger f02df3e081 docs: document hostIP for --publish better
Document the default_host_ips option here to make it more visible. And
clarify the default v4/v6 bind behavior.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-08-20 12:38:11 +02: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
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
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
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 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
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
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
Kit Dallege ceae6e85ec docs: share --reload-systemd option between quadlet install and rm
Extract the --reload-systemd option text into a shared option file
at docs/source/markdown/options/reload-systemd.md and reference it
with @@option in both podman-quadlet-install and podman-quadlet-rm
manpages, following the established pattern for shared options.

Rename the manpages from .md to .md.in to indicate preprocessing.

Fixes #28370

Signed-off-by: Kit Dallege <xaum.io@gmail.com>
2026-06-20 12:57:10 +02:00
MayorFaj c6e5eb5553 Add support for ImageVolume option in Podman Quadlet
Signed-off-by: MayorFaj <mayorfaj@gmail.com>
2026-06-17 07:19:07 +01:00
Jan Rodák 2aa54ee55f Document container name vs hostname and network DNS
Clarify that auto-generated names may use underscores, that DNS-enabled
networks resolve container names as given, and that container_name_as_hostname
changes the UTS hostname only.

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

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-06-10 11:28:14 +02:00
Tom Sweeney e03516f6d4 Add compression-level/format and force-compression links in docs
Buildah v1.44.0 now uses --compression-format, --compression-level, and
--force-compression options.  Add these options to the build and farm
man pages.

Signed-off-by: Tom Sweeney <tsweeney@redhat.com>
2026-05-29 09:10:50 -04:00
Jan Rodák 5b98ee331f Merge pull request #28641 from jiwahn/feat/container-annotation-filter
Feat/container annotation filter
2026-05-26 12:00:40 +02:00
Jan Rodák baf8fa6223 Document pasta forwarding mode for rootless bridge networks
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-05-20 14:24:48 +02:00
Jan Rodák fb75774a43 Document tmpcopyup default behavior for tmpfs mounts
Related to: https://github.com/containers/podman/issues/28684

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-05-15 09:22:44 +02:00
Jiwoo Ahn ec583fa17f filters: add annotation filter for containers Fixes: #28562
Signed-off-by: Jiwoo Ahn <ikwydls1314@gmail.com>
2026-05-11 20:24:28 +09:00
Jan Kaluza 7612af4c0e Rewrite the Quadlet documentation
This commit does the following:

- Splits the podman-systemd.unit.5.md into multiple files - one for each quadlet file type.
- Adds the podman-quadlet-basic-usage.7.md for quadlet examples.
- Majority of the text in the new files is copied from the podman-systemd.unit.5.md
- Adds support for very simple condditional in the markdown_preprocess.
- Uses new logic in markdown_preprocess in options/*.md to use a single .md file for both
  podman subcommands man-pages and quadlet man-pages. This deduplicates the Quadlet man-pages a lot.
- Adds new `@@option quadlet:source.md`` preprocess command to import such .md files from options directory.

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2026-05-04 10:53:36 +02:00
Matt Heon 3bd7bbc0dc Merge pull request #28413 from simonbrauner/issue-26786
Use AND to combine different volume filter keys
2026-04-28 13:59:42 -04:00
Šimon Brauner 09b7f59f99 Improve docs on passing multiple --filter flags
Signed-off-by: Šimon Brauner <sbrauner@redhat.com>
2026-04-28 14:33:54 +02:00
Matthew Heon efba9996f6 Implement --save-stages/--stage-labels for build
These are two new Buildah flags that we need to wire into Podman
(both local and remote) and document, with the interesting note
that one requires the other and a check needed to be added for
that.

Also: secret parsing was tightened up in Buildah, and was
breaking the remote build tests. Rewire it to use the new parser
Buildah made, which ends up simplifying the code considerably.
Tests are back to passing afterwards.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2026-04-17 10:00:32 -04:00
Ashley Cui c3d7c2fca7 Merge pull request #28506 from Honny1/fix-mount-docs-anonymous-volume
Fix docs --mount source not mandatory for type=volume
2026-04-15 10:01:46 -04:00
Jan Rodák 111b4cf3f5 Fix docs --mount source not mandatory for type=volume
Folow up: https://github.com/containers/podman/issues/28497

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-04-14 11:43:02 +02:00
Matt Baker 30cfafe39c Clarify specific pasta parameters passed by default
Closes #28433

Signed-off-by: Matt Baker <matt.baker@agd-systems.com>
2026-04-14 10:17:15 +01:00
Lokesh Mandvekar 6859a9e512 Remove slirp4netns from documentation
Update all documentation files to remove slirp4netns references
and update to pasta as the only rootless networking backend.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2026-04-13 09:04:41 -04:00
Šimon Brauner 98abcdcb19 Use AND to combine different volume filter keys
Fixes: https://github.com/containers/podman/issues/26786

Signed-off-by: Šimon Brauner <sbrauner@redhat.com>
2026-04-07 09:23:22 +02:00
Jessica WardandTom Sweeney 2e66f1c38e Update quiet.md
Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
Signed-off-by: Jessica Ward <Jessicawardiom@gmail.com>
2026-04-02 17:52:43 +01:00
jessica 6f286ef52f #28374 de-duplicated --quiet option from docs
Signed-off-by: jessica <jessicawardiom@gmail.com>
2026-03-28 09:50:41 +00:00
Jan Rodák fc76b778af Merge pull request #26267 from PhrozenByte/docs-subidname
Explain using `--subuidname` with `--uidmap`
2026-03-25 15:10:03 +01:00
Jan Rodák 339acf880c volume prune: match Docker default and add --all
Fixes: https://github.com/containers/podman/issues/24597
Fixes: https://issues.redhat.com/browse/RUN-4404

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-03-19 13:40:45 +01:00
Jan Rodák 6acfd58026 Add multi-IP container support
Add tests for multiple static IPs per container across single and multi-subnet networks.
Document --network option for comma-separated IPs and subnet-based IP ordering.

Fixes: https://issues.redhat.com/browse/RHEL-98277

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-03-16 13:47:01 +01:00
Povilas Kanapickas 636eb1a401 libpod: Implement --log-opt label=LABEL=Value
This allows things like compose project names to be associated with log
messages and later used in log processing and analysis.

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2026-03-06 10:59:31 +02:00
Matt Heon aefdaf317d Merge pull request #28170 from StaticRocket/bugfix/quadlet-list
fix(cmd/podman/quadlet): Behave like container ls
2026-03-03 13:03:07 -05:00
Randolph Sapp 33a36bd56b fix(cmd/podman/quadlet): Behave like container ls
Quadlet list always reports the heading, even when using custom
formatting strings. This doesn't follow the behavior of other podman
list commands. Borrow some logic and the "--noheading" flag from the
container list command to make this behavior uniform.

Signed-off-by: Randolph Sapp <rs@ti.com>
2026-03-03 10:04:37 -06:00
Ygal Blum 64ec31ac00 Add nocreate option for named volumes
Add a per-volume 'nocreate' option that prevents automatic creation of
named volumes when they don't exist. When specified, Podman will fail
if the volume is not found instead of creating it automatically.

Usage: -v myvolume:/data:nocreate
       --mount type=volume,src=myvolume,dst=/data,nocreate

See: #27862
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2026-02-26 11:14:32 -05:00
Patrick Koenig 0d7f00b4c0 List all status values in status filter documentation
Signed-off-by: Patrick Koenig <pkoenig10@gmail.com>
2026-02-19 09:28:37 -05:00