Commit Graph

320 Commits

Author SHA1 Message Date
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
Tong Li
f26483ba7d fix: standardize casing for cgroups in documentation
Fixes: #27089

Signed-off-by: Tong Li <djfkvcing117@gmail.com>
2025-09-23 20:11:56 +08:00
Jan Rodák
ab5e400a9a docs: remove remote limitation note for --build-context option
- Removal of a note in the build-context documentation about remote Podman client limitations
- Removal of skip statements for build-context tests in the test suite

Pull request #26628 adds support for --build-context for the remote client.

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-09-15 15:50:02 +02:00
Vanou Ishii
8d06a9e9f7 fix: Correct typo in chrootdirs option
In explanation of chrootdirs option, leading / is dropped
from podman managed file path (/etc/hostname). So this PR
adds leading /.

Signed-off-by: Vanou Ishii <ishii.vanou@fujitsu.com>
2025-09-13 14:09:04 +09:00
Miloslav Trmač
9e2850d0a8 Add --sign-by-sq-fingerprint to push operations
This adds a new feature that allows signing using Sequoia-backed
keys.  The existing options to sign using GPG-backed keys (and sigstore)
remain unchanged, and continue to use the same backends as usual.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-09-11 20:32:32 +02:00
Paul Holzinger
070d7c3ad3 Revert "Rewrite the Quadlet documentation."
This reverts commit c12b1b32bc.

The content contains incorrect information and misses a lot of details
from the previous page that must be restored.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-11 19:00:19 +02:00
Paul Holzinger
bb422c8372 Revert "Change the syntax to not depend on jinja2."
This reverts commit 9de737bf29.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-11 19:00:17 +02:00
Paul Holzinger
fd60d63bf4 Revert "Deduplicate more options."
This reverts commit 6756eb3412.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-11 19:00:02 +02:00
Jan Kaluza
6756eb3412 Deduplicate more options.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-09-05 15:26:16 +02:00
Jan Kaluza
9de737bf29 Change the syntax to not depend on jinja2.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-09-02 16:04:34 +02:00
Jan Kaluza
c12b1b32bc 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, podman-quadlet.7.md for general quadlet information
  and podman-quadlet-basic-usage.7.md for quadlet examples.
- Removes the original podman-systemd.unit.5.md file.
- Adds support for jinja2 templating language in the markdown_preprocess.
- Uses jinja2 in options/*.md to use the 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>
2025-09-02 12:49:45 +02:00
Christoph Weiss
249fa21e8a Improve documentation wording
Relax _will_ to _may_ and add a clarifying _then_.

Furthermore, we add a paragraph describing the behavior of the `--dns`
command line option.  This references #26812.

Signed-off-by: Christoph Weiss <weiss@wsoptics.de>
2025-08-20 17:23:40 +02:00
Paul Holzinger
5706d2a61e make machine --user-mode-networking docs more clear
The docs were outdated mentioning the qemu backed for Mac and I find the
way they are written to be a bit confusing.

I think it is best to start with that this option is not supported on
all the providers except WSL.

Fixes: #26780

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-08-11 17:27:18 +02:00
Lewis Roy
67ec2037c0 Add support for configuring tls verification with machine init
This patch adds a new --tls-verify flag to the `podman machine init`
sub command which matches many of our other commands. This allows the
user to optionally control whether TLS verification is enabled or
disabled for download of the machine image.

The default remains to leave the TLS verification decision to the
backend library which defaults to enabling it, this patch just
allows the user to explicitly set it on the CLI.

Fixes: #26517

Signed-off-by: Lewis Roy <lewis@redhat.com>
2025-08-05 21:02:28 +10:00
openshift-merge-bot[bot]
a9ed97d4cf Merge pull request #26692 from giuseppe/add-certdir-creds-to-podman-create-run
podman: add --creds and --cert-dir to create/run
2025-07-28 20:21:22 +00:00
Lewis Roy
81d6d90195 Improve handling of --publish and incompatible NetNS modes
Handling is improved by:
- Inverting detection logic so all incompatible NetNS modes that can't be used with
the `--publish` option will now print a warning to the user.
- Updating the --publish documentation
- Extract detection logic out to it's own function with a note to keep
  docs in sync.

Note: path mode was added after this warning logic was added:
- https://github.com/containers/podman/pull/8230
- https://github.com/containers/podman/pull/16386

Relates-to: https://github.com/containers/podman/issues/26663

Signed-off-by: Lewis Roy <lewis@redhat.com>
2025-07-28 20:20:05 +10:00
Giuseppe Scrivano
7f2908afcf podman: add --creds and --cert-dir to create/run
Add --creds flag to podman create and podman run commands to support
registry authentication during image pulling.

Without this flag, users must perform a separate `podman pull
--creds/--cert-dir` first and then remember to specify `--pull=never`.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-07-25 17:45:23 +02:00
tomsweeneyredhat
97f27f35a5 Add missing manpages options for Buildah v1.41.0
Add the missing man page options for `podman build`,
`podman farm build`, and `podman image build`.  These
are new to `buildah build` with Buildah v1.41.0.

They are:
  * created-annotation
  * inherit-annotations
  * rewrite-timestamp
  * source-date-epoch
  * unsetannotation

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2025-07-23 10:36:22 -04:00
openshift-merge-bot[bot]
00c431c3ca Merge pull request #26238 from ArthurWuTW/26102
tmpfs: Add support for noatime mount option
2025-07-04 10:55:02 +00:00
openshift-merge-bot[bot]
844ed8296d Merge pull request #26485 from gumimin/update-latest
cmd/podman: add --latest option to update #26380
2025-06-24 18:15:40 +00:00
Hayato Kihara
f21dacc4fb cmd/podman: add --latest option to update #26380
Allow users to target the most recently created container with
`podman update --latest` (short `-l`). The same option already exists
on many other commands, so this brings update in line with the rest of
the CLI and saves users from typing or looking up the newest container.

Fixes: #26380

Signed-off-by: Hayato Kihara <kai.21banana@gmail.com>
2025-06-24 22:06:26 +09:00
Giuseppe Scrivano
f266034d56 docs: document when a volume is chowned
add documentation to clarify when a volume is chowned.

Closes: https://github.com/containers/podman/issues/26474

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-06-24 12:10:06 +02:00
Paul Holzinger
0ab8a3c576 artifact mount: add new name option to specify filename
An artifact without the title annoation just gets the digest as name
which is less than ideal. While it is a decent default to avoid
conflicts users would like to configure the name.

With the name=abc option we will call the file abc in case of a signle
artifact and otherwise we use abc-x where x is the layer index starting
at 0 to avoid conflicts.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-06-14 12:25:21 +02:00
Paul Holzinger
21f34601eb artifact mount: improve single blob behavior
If the artifact has a single blob then use the dst path directly as
mount in case it does not exist.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-06-14 09:16:06 +02:00
Warren Young
0080368fd6 Clarified the consequences of --network=host
The prior version talked about potential access to DBus, but this is a
bogus warning: default OS setups do not bind DBus to localhost or to an
abstract Unix socket.  It is possible that the original author was
thinking of CVE-2020–15257, which affected containerd's abstract Unix
socket; they fixed it by switching to a named socket, just as DBus
always (?) has done.

Signed-off-by: Warren Young <wyoung@tangentsoft.com>
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-06-10 18:47:55 +02:00
ArthurWuTW
2825521337 tmpfs: Add support for noatime mount option
'noatime' flag disables updates to file access times when files are read. This can reduce unnecessary writes and improve performance, especially in read-heavy workloads. Previously, tmpfs did not recognize the 'noatime' mount option and would return an error.

With this change, tmpfs now properly accepts and handles the 'noatime' option.

Fixes: #26102

Signed-off-by: Arthur Wu <lion811004@gmail.com>
2025-06-06 22:21:45 -04:00
Matthew Heon
775a85004f Add "dest" as an alias for "destination" in --mount
Given I wrote this and I still mess it up on a regular basis, I
cannot be alone in forgetting whether "dst" or "dest" is the
correct short option for "destination". Let's just make both
valid, I don't see a reason not to.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2025-05-30 14:47:13 -04:00
Jan Rodák
499ea1168b Fix: Ensure HealthCheck exec session terminates on timeout
Previously, the HealthCheck exec session would not terminate on timeout, allowing the healthcheck to run indefinitely.

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

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-05-12 17:01:35 +02:00
Giuseppe Scrivano
5d6c784252 docs: fix markdown format
Closes: https://github.com/containers/podman/issues/26063

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-05-05 10:15:12 +02:00
tomsweeneyredhat
76b07dd48d Bump to Buildah v1.40.0
Bumps to Buildah v1.40.0 and adds the `--inherits-labels` option to
build and farm build man pages.

Also turn off the inherit-labels option test for now as it seems to be
rathr unhappy.

Issue for inherit-labels test failure: https://github.com/containers/podman/issues/25938

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2025-04-22 16:50:02 -04:00