Commit Graph

27754 Commits

Author SHA1 Message Date
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
Mario Loriedo
c69bf80690 Merge pull request #29132 from Luap99/govet
golangci-lint: enable more govet checks
2026-07-07 11:14:43 +02:00
Danish Prakash
451b71f6b2 Merge pull request #29114 from Luap99/network-doc
docs: fix network create
2026-07-06 21:20:01 +05:30
Paul Holzinger
c76b68dac5 golangci-lint: enable more govet checks
There are more useful checks such as nilness that are not enabled by
default. However fieldalignment and shadow produce a lot of warnings
that are not real issues, i.e. we shadow "err" as variable all the time,
so they get disabled.

see https://golangci-lint.run/docs/linters/configuration/#govet

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-06 15:53:50 +02:00
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
Lokesh Mandvekar
d5213284f4 Merge pull request #29111 from slp/update-krunkit-1.3.2
Bump bundled krunkit from 1.3.1 to 1.3.2
2026-07-03 10:42:40 -04: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
Sergio Lopez
f68612b052 Bump bundled krunkit from 1.3.1 to 1.3.2
Bump bundled krunkit to 1.3.2, which comes with libkrun 1.19.4.

This version of libkrun includes a fix in virtio-fs on macOS for
libkrun/libkrun#769 that potentially impacts podman users.

Signed-off-by: Sergio Lopez <slp@redhat.com>
2026-07-03 13:26:47 +02:00
Paul Holzinger
0ead98d2d4 Merge pull request #29092 from ROKUMATE/feat-playkube-container-name
pkg/domain: include container name in kube play start errors
2026-07-03 13:25:18 +02:00
ROKUMATE
8748e6c9ac pkg/domain: include container name in kube play start errors
Fixes: #27196
Signed-off-by: ROKUMATE <rohitkumawat0110@gmail.com>
2026-07-03 15:07:41 +05:30
Paul Holzinger
dd9bb5d512 Merge pull request #29107 from podman-container-tools/renovate/dorny-paths-filter-4.x
Update dorny/paths-filter action to v4.0.2
2026-07-03 10:38:46 +02:00
renovate[bot]
258a2cb12c Update dorny/paths-filter action to v4.0.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-02 23:10:08 +00:00
Ashley Cui
3c2f6f4278 Merge pull request #29106 from danishprakash/validatepr-worktree
Makefile: allow `make validatepr` to be run from git worktrees
2026-07-02 13:58:34 -04:00
Paul Holzinger
a9a332116d Merge pull request #29104 from podman-container-tools/renovate/go-golang.org-x-net-vulnerability
Update module golang.org/x/net to v0.55.0 [SECURITY]
2026-07-02 19:20:50 +02:00
Danish Prakash
ceea48155a Makefile: fix make validatepr run from git worktrees
When running `make validatepr` from a git worktree, $(CURDIR)/.git is a file
pointing to the parent git dir outside the bind mount. Mount that dir at its
own path so git inside the container can resolve and not throw ownership errors.

Signed-off-by: Danish Prakash <contact@danishpraka.sh>
2026-07-02 20:58:47 +05:30
Paul Holzinger
d9a2250d3c Merge pull request #29086 from Luap99/machine-upgrade
fix podman machine os upgrade distro check
2026-07-02 17:18:00 +02:00
Brent Baude
9ac9834a50 Merge pull request #29100 from afbjorklund/machine-cache
Restore caching of the default machine image
2026-07-02 10:05:27 -05:00
Brent Baude
4d5435f47e Merge pull request #29103 from Luap99/wsl-config-mount
machine/wsl: fix config mount logic
2026-07-02 10:05:04 -05:00
Jan Rodák
e852389e55 Merge pull request #29071 from Luap99/scannererr
fix missing error checks for bufio.Scanner
2026-07-02 14:55:12 +02:00
renovate[bot]
9ccc0490a7 Update module golang.org/x/net to v0.55.0 [SECURITY]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-02 12:39:14 +00:00
Jan Rodák
60d4acc173 Merge pull request #29073 from podman-container-tools/renovate/golangci-golangci-lint-action-9.x
Update golangci/golangci-lint-action action to v9.3.0
2026-07-02 14:37:40 +02:00
Paul Holzinger
114bb1efa7 machine/wsl: fix config mount logic
The current systemd service to mount /etc/containers is not working
right. The Before=podman.socket causes a ordering conflict which causes
the socket to be disabled and thus all podman remote connections fail.

The problem is the unit is wanted by the default.target while the socket
is wanted by sockets.target which can be before the default.target is
triggered. That means that the Before= line cannot be fulfilled and
sometimes systemd thus seems to not start the socket. It is unclear to
me why this is racy as it is sometimes also works.

This was reported by Vladimir Lazar from the PD team, our CI did not
caught this as we use rootless machines by default and the problem only
happens for the rootful socket so we do not see connection failures.
To fix this add at least one rootful socket check.

We do however have a different CI flake that was also caused by the
incorrect mount dependencies. The mount could happen after sshd or other
programs run. So to fix this we must hook the podman-mnt-config.service
into the local-fs.target which runs much earlier and is used for all the
mounts.

Fixes: #29003

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-07-02 14:01:43 +02:00
Giuseppe Scrivano
6c5efd31e3 Merge pull request #29011 from simonbrauner/issue-29004
Write quadlet units to temporary files and rename
2026-07-02 09:34:30 +02:00
Matt Heon
4a06ac20dd Merge pull request #29101 from slp/update-krunkit-1.3.1
Bump bundled krunkit from 1.2.1 to 1.3.1
2026-07-01 17:30:16 -04:00
Sergio Lopez
06bfb55eb1 Bump bundled krunkit from 1.2.1 to 1.3.1
Bump bundled krunkit to 1.3.1, which comes with libkrun 1.19.3.

This version of krunkit makes HTTP parsing on the rest-uri more
robust to ensure it only acts on the right request.

It also enables a new permission semantics mode in libkrun that's
closer to the user expectations on macOS.

Fixes: #21402
Fixes: #29084

Signed-off-by: Sergio Lopez <slp@redhat.com>
2026-07-01 19:05:12 +02:00
Anders F Björklund
d4a1efbe9b Restore caching of the default machine image
It was removed, with the hardcoded image reference.

So cache was always off, even for the default image.

Fixes: #29090

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2026-07-01 18:09:21 +02:00
Jan Rodák
63cf53d26a Merge pull request #29083 from Luap99/oci-log
podman log-level debug must produce the same oci runtime errors
2026-07-01 16:34:39 +02:00
Danish Prakash
2be3a749a8 Merge pull request #29055 from ROKUMATE/fix-remote-events-parse-error
pkg/domain: return an error instead of nil on remote event parse failure
2026-06-30 20:53:19 +05:30
Jan Rodák
2eae23c851 Merge pull request #29039 from Luap99/swagger-doc
docs: update API Reference docs
2026-06-30 17:23:01 +02:00
Paul Holzinger
5cdc6f80c0 label machine issues automatically
In podman info we print the os variant so use that to label the issue
with 'machine'.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-30 15:12:08 +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
ROKUMATE
3d9e8fd2d3 pkg/domain: return an error instead of nil on remote event parse failure
In remote mode `podman events --format json` could print the literal "null"
instead of an event object. The remote client converts each event received
from the server with ConvertToLibpodEvent, which returned nil when it could
not parse the server result (an unknown status or type, or an invalid
containerExitCode). The tunnel forwarded that nil as an event with no error
set, so the CLI marshalled a nil event and printed "null".

Return a descriptive error from ConvertToLibpodEvent and send it on the event
channel, which the CLI already handles, instead of forwarding a nil event.

Signed-off-by: ROKUMATE <rohitkumawat0110@gmail.com>
2026-06-30 18:13:20 +05:30
Paul Holzinger
b4aaaee306 podman log-level debug must produce the same oci runtime errors
I do not understand this condition in the code, not passing the log file
to the runtime when run with log level debug makes no sense. It means we
do not get the proper error message from the runtime so debug logging
shows a much worse error:
"container create failed (no logs from conmon)..."

When the actual error is the command is not in $PATH for example. So to
fix this just remove the log level check. Also not the support json flag
condition is done inside execOCILog().

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-30 13:02:57 +02:00
Paul Holzinger
d9465ea2bf test/e2e: rework GetHostDistributionInfo
First check for errors and assert them via gomega to make the test fails
which called this.

Then stop calling this for each test spec, most will never access this
so stop reading the file over and over. Callers should just call the
function directly.

Then remove the arch field from it, that is not related to the OS file.
Callers should just access runtime.GOARCH directly.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-30 10:32:33 +02:00
Paul Holzinger
9a3bf9986f machine return read errors from GetDistribution
If the scanner fails to read the file we should return an error to the
user and not make assumptions on the returned value here.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-30 10:32:32 +02:00
Paul Holzinger
838fc24d3e machine: simplify ssh debug output logging
When the command output is logged we do not need an extra pipe and
scanner to read the output line by line, we can just log it directly via
a writer.

Now this of course does loose the line by line parsing of the scanner
but IMO this is better as it is simpler and less code to worry about.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-30 10:32:32 +02:00
Paul Holzinger
278068ef18 fix some missing scanner error checks
Found by scannererr:
https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/scannererr

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-30 10:32:32 +02:00
Šimon Brauner
64ab8171ed Use atomic file writer for quadlet unit files
Fixes: https://github.com/podman-container-tools/podman/issues/29004

Signed-off-by: Šimon Brauner <sbrauner@redhat.com>
2026-06-29 22:23:57 +02:00
Paul Holzinger
f6afcfaf26 Merge pull request #29076 from simonbrauner/vendor-container-libs-946
vendor: update container-libs to latest
2026-06-29 22:04:09 +02:00
Šimon Brauner
b10c04e9a5 vendor: update container-libs to latest
Related: https://github.com/podman-container-tools/container-libs/pull/946

Signed-off-by: Šimon Brauner <sbrauner@redhat.com>
2026-06-29 20:13:42 +02:00
Paul Holzinger
4cbae8b6a7 Merge pull request #28991 from l0rd/fix-machine-start-signal-handling
Fix signal handling during machine start on macOS
2026-06-29 18:50:09 +02:00
renovate[bot]
5ab64e70a0 Update golangci/golangci-lint-action action to v9.3.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-29 16:15:06 +00:00
Jan Rodák
5c8a6d5019 Merge pull request #29038 from shuaiyuanxx/fix-volume-prune-all-label-filters
Honor label filters for volume prune when all is set
2026-06-29 16:47:29 +02:00
Paul Holzinger
7ba55d6adc Merge pull request #28803 from simek-m/fix/healthcheck-log-corruption
fix: Handle healthcheck log corruption gracefully
2026-06-29 15:25:21 +02:00
Marek Simek
e353bab7f5 fix: Handle healthcheck log corruption gracefully
The healthcheck log could be corrupted if the
process was interrupted mid-write. It could
lead to Podman crashing.

Write the log files atomically and diferentiate
between corrupted log and different errors in
consumers of readFromFileHealthCheckLog().
Add a system test for a corrupted log file.
Change incorrect log permissions to 0o600.

Fixes: https://redhat.atlassian.net/browse/RHEL-178222
Signed-off-by: Marek Simek <msimek@redhat.com>
2026-06-29 13:03:47 +02:00
Paul Holzinger
70554a45da Merge pull request #29066 from podman-container-tools/renovate/common-image-and-storage-deps
Update common, image, and storage deps to 5af159b
2026-06-29 12:34:18 +02:00
Paul Holzinger
a91d487db7 Merge pull request #29063 from l0rd/fix-machine-init-when-wsl-isnt-installed
Fix machine init when WSL isn't installed
2026-06-29 12:15:43 +02:00
Paul Holzinger
94c259b685 add note about the readthedocs go version requirement
The versions should be kept in sync to avoid build errors on readthedocs
later, so add a note to remind people to update them.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-29 12:02:53 +02:00
Paul Holzinger
8136cfbe4d docs: update API Reference docs
I forgot to update the docs here when I reworked the build process. Link
to the new location and explain how users can download the file, see
https://github.com/podman-container-tools/podman/discussions/29035

Now because the file is served on the same domain there should also be
no longer any issue with CORS so remove the old picture.

Fixes: c2ffe88ce0 ("build the swagger.yml on readthedocs")

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-29 12:02:53 +02:00