Commit Graph

350 Commits

Author SHA1 Message Date
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 Ward
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
Nalin Dahyabhai
474ff994b6 build: connect --source-policy-file, --mount for remote builds
Pass --mount settings and the contents of the --source-policy-file
argument to remote builds.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-02-18 14:11:12 +01:00
Paul Holzinger
88bd85367d Merge pull request #28008 from shiv-tyagi/vendor-detection
Discover GPU vendor from CDI spec before injecting GPU for --gpus option
2026-02-12 18:54:34 +01:00
Shiv Tyagi
d7a80dda1e Discover vendor from cdi spec before injecting CDI device for --gpu option
Signed-off-by: Shiv Tyagi <Shiv.Tyagi@amd.com>
2026-02-12 12:11:47 +00:00
Matt Heon
d220d58f08 Merge pull request #27993 from danishprakash/podman-buildah-vendor
vendor: update c/buildah to latest main
2026-02-04 16:02:39 -05:00
Lewis Roy
fc18d3229d [DOCS] Update references common -> container-libs/common
Signed-off-by: Lewis Roy <lewisdenny@me.com>
2026-02-04 21:29:17 +10:00
Danish Prakash
827ba37b3e build: handle --iidfile-raw and --metadata-file flags
* docs: man page additions
* test/e2e: add tests for `--iidfile-raw` and `--metadata-file`
* test/buildah-bud: update buildah-bud test patch for buildah v1.42.1

Signed-off-by: Danish Prakash <contact@danishpraka.sh>
2026-02-03 09:18:29 +05:30
Lokesh Mandvekar
7ebb95a3bf Update man page documentation to remove CNI references
Removed all CNI-specific documentation from man pages:

- podman.1.md: Simplified --network-config-dir to only mention
  netavark directories
- podman-network.1.md: Removed dual backend description, now states
  netavark is the only backend
- podman-network-create.1.md: Removed CNI-specific notes about DNS
  and DHCP socket configuration
- podman-network-connect.1.md: Removed CNI limitation note about
  network aliases
- options/network-alias.md: Removed CNI limitation note about
  network aliases
- podman-info.1.md: Updated example output to show netavark backend
  information instead of CNI

All man pages now reflect netavark as the sole network backend.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2026-01-27 16:32:38 +05:30
Matt Heon
cb67dafd36 Merge pull request #26445 from aaron-ang/update-ulimit
Add ulimits to `podman update`
2026-01-16 08:38:00 -05:00
MayorFaj
4043a4bb0c docs: Update filter options and add podman ps documentation
Signed-off-by: MayorFaj <mayorfaj@gmail.com>
2025-12-06 10:47:13 +00:00
MayorFaj
3b080ce918 docs: Deduplicate --filter descriptions
Signed-off-by: MayorFaj <mayorfaj@gmail.com>
2025-12-05 00:36:53 +00:00
Jan Rodák
4d3c6311a5 Fix unless-stopped restart policy to match Docker behavior
- Update documentation: Differentiate `unless-stopped` from `always` - containers stopped by the user before a reboot will not restart.
- Add `should-start-on-boot` filter: Identify containers that require a restart after a system reboot.
- Update command documentation: Add `restart-policy` and `label!` filters to the documentation for container commands (rm, ps, start, stop, pause, unpause, restart).
- Add `restart-policy` and `shoud-start-on-boot` to completions.
- Update service: Update `podman-restart.service` to use the `needs-restart=true` filter.
- Preserve state: Preserve the `StoppedByUser` state across reboots.
- Update API: Add a `ShouldStartOnBoot()` method to the Container API.
- Update documentation: Add descriptions for the `should-start-on-boot` filter.

Fixes: https://issues.redhat.com/browse/RHEL-129405
Fixes: https://github.com/containers/podman/issues/20418

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-12-02 15:40:46 +01:00
Aaron Ang
e0fc51eb68 Add ulimits to podman update API
Signed-off-by: Aaron Ang <aaron.angyd@gmail.com>
2025-11-20 22:59:50 -08:00
openshift-merge-bot[bot]
7cd9b81b43 Merge pull request #26727 from ryanmccann1024/feature/26588-exec-no-session
feat(exec): Add --no-session flag for improved performance
2025-11-20 10:28:15 +00:00
Brent Baude
3d566d85cf Ignore prompt if stdin not a tty on machine start
When starting a machine and the user has not explicitly passed
-u=true|false AND stdin is a not a tty, we should not prompt to update
connections.

Fixes: #27556

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-11-19 11:50:25 -06:00
ryanmccann1024
61cbc0c3ee feat(exec): Add --no-session flag for improved performance
Fixes: #26588

For use cases like HPC, where `podman exec` is called in rapid succession, the standard exec process can become a bottleneck due to container locking and database I/O for session tracking.

This commit introduces a new `--no-session` flag to `podman exec`. When used, this flag invokes a new, lightweight backend implementation that:

- Skips container locking, reducing lock contention
- Bypasses the creation, tracking, and removal of exec sessions in the database
- Executes the command directly and retrieves the exit code without persisting session state
- Maintains consistency with regular exec for container lookup, TTY handling, and environment setup
- Shares implementation with health check execution to avoid code duplication

The implementation addresses all performance bottlenecks while preserving compatibility with existing exec functionality including --latest flag support and proper exit code handling.

Changes include:
- Add --no-session flag to cmd/podman/containers/exec.go
- Implement lightweight execution path in libpod/container_exec.go
- Ensure consistent container validation and environment setup
- Add comprehensive exit code testing including signal handling (exit 137)
- Optimize configuration to skip unnecessary exit command setup

Signed-off-by: Ryan McCann <ryan_mccann@student.uml.edu>
Signed-off-by: ryanmccann1024 <ryan_mccann@student.uml.edu>
2025-11-19 12:44:48 -05:00
Brent Baude
b4ec460ed4 Add update-connection to machine start and init
This allows users to set the associated machine's system connection to the system default when running `podman machine init --now` or `podman machine start`.  It also changes the default bbehavior of these commands in that the user will be prompted and asked if they would like to switch the system connection.  It also introduces a command line switch called `--update-connection`.  If the switch is unset, then the user will be prmpted.  If the command value is explicitly set to `false`, the user will not be prompted and the system connection will not be altered.  If the value is set to `true`, the system connection will be made the default and the user will not be prompted.

Fixes: https://issues.redhat.com/browse/RUN-3632

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-11-04 10:35:28 -06:00
lordwelch
f8ce377bb4 Fix tmpfs U/chown documentation
Signed-off-by: lordwelch <timmy@narnian.us>
2025-10-25 22:58:46 -07:00
Sola
ca106301f8 fix: typo in uidmap option doc
The following section describes how to map to host ID `1`, not `1000`

Signed-off-by: Sola <dev@sola.love>
2025-10-22 01:02:36 +08:00
openshift-merge-bot[bot]
b3ec5cf29e Merge pull request #26618 from mtrmac/sequoia
Add --sign-by-sq-fingerprint
2025-10-21 11:06:38 +00:00
Rosvaldas Atstupėnas
0a20e22384 Add default runtime flags in config
Added a way to define default runtime flags in config.

Fixes: https://github.com/containers/common/issues/715

Default runtime flags should be defined as shown below:

[engine.runtimes_flags]
runsc = [
  "net-raw",
]

crun = [
  "debug",
]

Signed-off-by: Rosvaldas Atstupėnas <atstupenas.rosvaldas@gmail.com>
2025-10-16 13:51:46 -04:00
Lewis Roy
c11941eadb [DOCS] Update volume mount docs for subpath support
Support for the subpath option was added the named volume mount type in
[1] however this was missed from the docs.

[1] https://github.com/containers/podman/pull/24532`

Signed-off-by: Lewis Roy <lewis@redhat.com>
2025-09-27 15:41:40 +10:00
Daniel Lazaro
4652f5c3c6 docs: clarify that --userns=keep-id runs container as host UID
Fixes: #24934

Signed-off-by: Daniel Lazaro <git@dlazaro.ca>
2025-09-24 19:05:34 -04:00