Commit graph

3439 commits

Author SHA1 Message Date
Brent Baude
aba2df7517 Add podman machine os upgrade command
Implements automatic OS upgrade functionality for Podman machines that requires no user input beyond running the command. The upgrade logic automatically determines the appropriate upgrade path using a three-way comparison between client version, machine version, and OCI registry:

* When the client version is older than the machine version, no action is taken and an error is returned.
* When the client version matches the machine version, the OCI registry is queried to check for in-band updates by comparing image digests.  This handles minor, patch level, and updates oci image use cases.
* When the client version is newer than the machine version, the machine is upgraded to match the client's major.minor version.
* No manual image selection or version specification required.

The command supports dry-run mode and JSON (only) output format for automation.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2026-01-16 14:14:06 -06:00
Miloslav Trmač
dc8d2c13fd
Merge pull request #27648 from l0rd/win-tutorial-update
Update the Podman on Windows tutorial
2026-01-16 17:12:43 +01:00
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
Mario Loriedo
87df3e4749 Update the Podman on Windows tutorial for 6.0.x
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2026-01-16 11:48:57 +01:00
Bryan Parry
f96e0a3fb2 Fix podman run equivalent for HealthStartPeriod
Signed-off-by: Bryan Parry <bparry@redhat.com>
2026-01-14 15:48:52 -05:00
Ashley Cui
73d6be2876
Merge pull request #27835 from kriansa/fix-timeoutstartsec-docs
docs: fix misleading TimeoutStartSec information for oneshot services
2026-01-14 11:49:03 -05:00
Mario Loriedo
8bd92f52ab Update the Podman on Windows tutorial for 5.7.x
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2026-01-13 12:49:33 +01:00
Brent Baude
76e14f79f7 use bootc for os apply
Instead of using rpm-ostree, we now use bootc for os apply.  the
implementation is a little murky right now and will require some cleanup
to implement bootc's transports.  for now, we only support oci images
from registries.

once we have an upgrade command, the transports can be added and the
docs for apply can be ammended to be more clear.

Fixes: RUN-3836

Signed-off-by: Brent Baude <bbaude@redhat.com>
2026-01-08 13:32:39 -06:00
Paul Holzinger
55542db3c5
Merge pull request #27861 from matthijskooijman/patch-1
Fix docs for Volume User= and Group= options
2026-01-05 19:32:49 +01:00
Matthijs Kooijman
7a87456fdd
Fix docs for Volume User= and Group= options
These are not options directly passed to `--opt`, but these use `--opt o=`, so update the table accordingly.

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
2026-01-05 17:52:39 +01:00
Jonatan Kazmierczak
e4bd3e6f20
Update rootless_tutorial.md - minor text correction
Signed-off-by: Jonatan Kazmierczak <Jonatan@Son-of-God.info>
2025-12-29 23:59:24 +01:00
Daniel Pereira
e6c3e4f411
docs: fix misleading TimeoutStartSec information for oneshot services
The documentation incorrectly stated that TimeoutStartSec "cannot be
used" with Type=oneshot services. According to systemd.service(5),
the startup timeout is simply disabled by default (set to infinity)
for oneshot services, but TimeoutStartSec can still be explicitly
configured if a timeout is desired.

Signed-off-by: Daniel Pereira <zdaniel.gp@gmail.com>
2025-12-28 14:15:50 -03:00
Lokesh Mandvekar
38017c42b6
Merge pull request #27811 from ashley-cui/networkcmdpath
Remove network-cmd-path
2025-12-22 09:40:16 -05:00
Ashley Cui
aa1d7b189a Remove network-cmd-path
As part of slirp removal.
RUN-3569

Signed-off-by: Ashley Cui <acui@redhat.com>
2025-12-19 16:52:49 -05:00
MayorFaj
eaf4d4ebc9 fix: remove unnecessary -t flag from podman run commands in documentation
Signed-off-by: MayorFaj <mayorfaj@gmail.com>
2025-12-17 22:29:40 +00: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
Timothée Ravier
129f7ae152 docs/podman.1: Fix leftover rootless mention
Fixes: 75f4215717

Signed-off-by: Timothée Ravier <tim@siosm.fr>
2025-11-27 23:06:46 +01:00
Salim B
7b30d9cd3f
docs: further tweaks
Signed-off-by: Salim B <git@salim.space>
2025-11-22 01:17:47 +01:00
Salim B
d1c2afc941
docs: improve note about Quadlet TimeoutStartSec
Signed-off-by: Salim B <git@salim.space>
2025-11-22 00:51:01 +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
Mario Loriedo
343a196448 Remove iptables references in docs
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-11-21 01:10:19 +01:00
Erik Sjölund
7741e047dd
podman-systemd.unit.5: document /sbin/nologin accounts
Add command:
sudo systemctl --machine username@ --user list-unit-files

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

Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2025-11-20 21:01:42 +01: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
openshift-merge-bot[bot]
fb7e99786e
Merge pull request #27384 from flouthoc/multi-file-quadlet
quadlet install: add support for multiple quadlets in a single file
2025-11-18 16:01:08 +00:00
flouthoc
c22c3271bb
quadlet install: multiple quadlets from single file should share app
Quadlets installed from `.quadlet` file now belongs to a single
application, anyone file removed from this application removes all the
other files as well.

Assited by: claude-4-sonnet

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2025-11-17 10:23:28 -08:00
Lokesh Mandvekar
145540fed4
Remove ContainerStats.PerCPU: CGV1 only
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:34 -05:00
Lokesh Mandvekar
bb3c8b9ecd
docs: Remove Cgroups v1
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-12 15:15:34 -05:00
openshift-merge-bot[bot]
81e9c67e11
Merge pull request #27506 from Luap99/fix-redoc-url
docs: fix redoc swagger URL
2025-11-12 14:14:02 +00:00
openshift-merge-bot[bot]
b2e0671b5f
Merge pull request #27475 from eriksjolund/add-references-to-quadlet
docs: Add references to quadlet
2025-11-12 13:32:28 +00:00
Lokesh Mandvekar
dc6428cbbb
docs: update version
already added to v5.7.

Ref: https://github.com/containers/podman/pull/27500

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-11-11 13:40:52 -05:00
Paul Holzinger
e93040e1e3
docs: fix redoc swagger URL
Currently our API docs are not working as it fails to fetch the js file
with the redoc code which renders the swagger.

The reason this fails is because we have been tracking the "next"
version and that was recently bumped to v3.0.0-rc.0 which also seem to
have moved the location to use "bundle" (no s). As such we now get a 404
as the CDN doesn't find the file. [1]

I don't get why we have been tracking next to begin with, using latest
would still work as it points but that could be moved anytime as well so
switch the URL to pull in the lastest v2 version which should be safer
against unexpected changes like that.

While it could of course also break in a minor v2 release hard coding an
exact version would mean a fair amount of churn updating this (which I
guess would not happen) so this looks like the best compromise to me.

[1] https://www.npmjs.com/package/redoc/v/3.0.0-rc.0

Fixes: #27505

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-11 19:22:14 +01:00
flouthoc
e787b4f503
quadlet: add support for multiple quadlets in a single file
Enable installing multiple quadlets from one file using '---' delimiters.
Each section requires '# FileName=<name>' comment for custom naming.
Single quadlet files remain unchanged for backward compatibility.

Assited by: claude-4-sonnet

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2025-11-10 08:25:48 -08:00
Erik Sjölund
02e5dfbdaf
docs: Add references to quadlet
Make the documentation about Quadlet easier to find by
adding more references to it.

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2025-11-08 08:56:06 +01:00
openshift-merge-bot[bot]
0405a470ef
Merge pull request #27450 from nimdrak/27444
Fix tiny typos in some artifact docs
2025-11-06 13:28:09 +00:00
Byounguk Lee
469a8af9bb Fixes: #27444, Fix tiny typos in some artifact docs
Signed-off-by: Byounguk Lee <nimdrak@gmail.com>
2025-11-06 05:30:42 +00:00
givensuman
e7b50c33df Add AppArmor key to quadlet .container files
Fixes: #27095
Signed-off-by: givensuman <givensuman@duck.com>
2025-11-05 18:15:52 -05:00
openshift-merge-bot[bot]
2b646e7cb7
Merge pull request #27438 from Mr-Bossman/dev/neurolag
Fixed Commands in `podman-for-windows` Guide
2025-11-04 22:26:57 +00:00
Manuel Thalmann
58c2fcd2d4 Fix incorrect function call
Changes made in this commit will fix #16168

The current command in the docs expect a `docker.exe` file to exist in the current working directory.
As this is most likely a typo, changes made in this commit fix this issue.

Signed-off-by: Manuel Thalmann <m@nuth.ch>
2025-11-04 12:56:01 -05:00
Manuel Thalmann
2e84246ad5 Update docs for most recent Windows version
In more recent Windows 11 versions (not sure about Windows 10),
Windows now ships its own `curl.exe`,
so PowerShell's "curl"-alias no longer exists.

Changes made in this commit will replace the `curl` alias call with the actual `Invoke-WebRequest` function.

Signed-off-by: Manuel Thalmann <m@nuth.ch>
2025-11-04 12:55:51 -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
openshift-merge-bot[bot]
6b731284f8
Merge pull request #27400 from lsm5/cncf-self-assessment
cncf: self-assessment doc
2025-10-31 13:18:07 +00:00
Lokesh Mandvekar
41ff61aba2
vendor neutral language, NIST database for known issues
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-10-30 14:37:42 -04:00
openshift-merge-bot[bot]
6fe36e2aee
Merge pull request #27376 from codynguyen-dev/docs-mount-section
docs: expand --mount section with detailed type descriptions (#25888)
2025-10-29 20:28:48 +00:00
Lokesh Mandvekar
57c7a026ea
cncf: self-assessment doc
This is being added here only for team review. This doc will live in
https://github.com/cncf/tag-security/ and *probably* be removed from
here.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-10-29 14:27:04 -04:00
openshift-merge-bot[bot]
1b2773ae58
Merge pull request #27391 from nimdrak/27378
Missing network type in events document
2025-10-29 15:28:40 +00:00
Brent Baude
5e1c2f8d7d Machine init --provider
Add the ability for users to override the default provider when creating mahcines.  The new flag is `--provider` and allows you to specifiy a valid vmtype for the platform.  This PR also removes the previous list test where we tested listing all providers.  I added a PR for testing --provider which includes a standard `machine ls` which defaults now to showing all providers.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-10-29 07:59:34 -05:00