Commit graph

7656 commits

Author SHA1 Message Date
Paul Holzinger
bd86edcbe1
Merge pull request #28591 from Luap99/vendor
update container-libs vendor and re-enable module command line completion test
2026-04-27 18:12:56 +02:00
Jan Rodák
30f93025ab
Merge pull request #28556 from Luap99/checkpoint-skip
test: remove outdated checkpoint skip
2026-04-27 15:02:20 +02:00
Paul Holzinger
f493ef0734
test/system: re-enable module command line completion test
The paths are no exported again in the latest common changes from
 https://github.com/containers/container-libs/pull/790

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-27 12:54:05 +02:00
Paul Holzinger
d01cd46830
test/system: skip podman checkpoint --export, with volumes on aarch64
It fails due some selinux problem, #28576.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-23 20:48:55 +02:00
Paul Holzinger
46aa8b83a4
test: remove outdated checkpoint skip
This should work again with the latest VM images.

Fixes: #26289

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-23 20:44:06 +02:00
Paul Holzinger
56a24d5183
fix container inspect output to not escape html chars
The default std json behavior is to escape &, < and >. Because we print
to the terminal we do not want escapes and rather the real chars.

That is what PrintGenericJSON() does but because we have custom
MarshalJSON() overwrite on the type which called json.Marshal() this
option was not carried into that. The inner type must not escape it.

This is not a problem in the other direction because the outer
json.Marshal call will still escape the chars returned from the inner
MarshalJSON() result if needed.

Fixes: #28560

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-23 20:12:14 +02:00
Matt Heon
cc2e2c94b8
Merge pull request #27929 from kairosci/fix/27786-health-field-containers-json
compat: Add Health field to /containers/json endpoint
2026-04-23 11:39:08 -04:00
Paul Holzinger
2c2ff559bd
Merge pull request #28554 from Luap99/registries-v2
move old registries.conf v1 files to v2
2026-04-23 15:55:43 +02:00
Paul Holzinger
bf76b9133f
move old registries.conf v1 files to v2
The v1 syntax is no longer accepted.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-23 13:19:04 +02:00
Paul Holzinger
f2994dc695
move the python API tests to the cache registry
First remove the old v1 registries.conf the test was using and then make
it correctly load the cache registry for CI. This needs some minor test
fixes to make it work again.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-23 13:18:13 +02:00
Alessio Attilio
c4a4c7e117 API: Add Health field to compat ListContainers and restrict to v1.52+
Signed-off-by: Alessio Attilio <attilio.alessio@protonmail.com>
2026-04-23 08:39:43 +00:00
Nabil Houidi
d44655537e
fix: ensure infra image is set from infra container spec in PodConfigToSpec
fixes #21609

Signed-off-by: Nabil Houidi <35373676+NabilHouidi@users.noreply.github.com>
2026-04-22 23:47:00 +02:00
Brent Baude
2cc3be7332
RUN-4539: Change podman module paths
The podman module paths are moving from github.com/containers/podman to
go.podman.io/podman.  This will help with future mobility.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2026-04-22 14:02:25 -05:00
Brent Baude
2e6f29a2df
RUN-4538: Fix buildah vendoring
This PR reflects the upstream change of moving the buildah module from
github.com/containers/buildah to go.podman.io/buildah.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2026-04-21 14:27:58 -05:00
Paul Holzinger
ff6fb6eb2d
Merge pull request #28508 from jankaluza/configfile
trust: switch policy.json lookup to configfile
2026-04-21 12:04:43 +02:00
Jan Kaluza
54d61c2f02 trust: switch policy.json lookup to configfile
Use shared configfile instead of custom policy.json path handling.
This updates ocipull to rely on signature.DefaultPolicy(), removes
explicit SignaturePolicyPath, and replaces trust's custom default-policy
path logic with common configfile code.

Replace hidden `--policypath` with --signature-policy` and require
it for `trust set` command instead of path resolution based on
configfile.

For `trust get`, the `--signature-policy` is optional.

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2026-04-20 15:11:22 +02:00
Jan Rodák
ecf493dea0
Fix Docker compat /wait hanging on fast-exiting containers
The Docker client (docker run) sends /wait then /start, but it only
sends /start after receiving the 200 OK response from /wait. Previously,
the event subscription for the "died" event was set up after the 200 was
sent, creating a window where a fast-exiting container (e.g. hello-world)
could emit its "died" event before the subscription was ready, causing
the client to hang forever.

Fix this by subscribing to "died" events before flushing the 200 status
code. This guarantees the event listener is ready before the client can
send /start, eliminating the race entirely.

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

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-04-20 15:01:42 +02:00
Paul Holzinger
34a4633d5f
Merge pull request #28275 from mheon/ordered_networks
Move to deterministic network setup order
2026-04-20 12:33:13 +02:00
Jan Rodák
7534429ade
Merge pull request #28524 from Luap99/isolate
remove isolate option from docker compat API
2026-04-20 10:03:27 +02:00
Matthew Heon
5e94c95ad0 Move to deterministic network setup order
This was implemented by containers/netavark #1369; this commit
completes the process by wiring it into Podman. We now respect
the CLI order for configured networks - if a user passes
`--net net1,net2` we guarantee that net1 will be configured
before net2.

For containers created before this patch, we don't retain enough
information to configure networks in CLI order, so we use
alphabetical order instead to still guarantee consistency.

No breaking API changes have been made, but we do add a new
field to supplement the existing map to (optionally) provide
ordering information. The Podman CLI will always pass this.
Existing applications that do not will, again, receive]
deterministic ordering based on an alphabetical sort of network
names.

This requires the latest version of Netavark to work properly.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2026-04-17 10:00:32 -04:00
Nicola Sella
d92cc360f1
Add Pod to quadlet list
Fixes: https://redhat.atlassian.net/browse/RUN-3835

Signed-off-by: Nicola Sella <nsella@redhat.com>
2026-04-17 13:42:16 +02:00
Paul Holzinger
41b785af5e
remove isolate option from docker compat API
With netavark v2 we start to default to strict isolation mode in
netavark[1] as such that already matches the docker behavior.

Therefore no longer hard code the isolate option in the compat api.

Podman v6 is requires netavark v2 for other changes already so we do
not need to worry about podman 6 + older netavark here.

[1] https://github.com/containers/netavark/pull/1438

Fixes: #27349

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-16 15:56:44 +02:00
Paul Holzinger
e4776a2dc6
Merge pull request #28498 from Honny1/hc-transient-store
Fix healthcheck failing silently with `--transient-store`
2026-04-15 19:13:19 +02:00
Paul Holzinger
ea4a7f9b65
Merge pull request #28454 from aadi58002/main
fix(#28429): OCIRuntime field in SpecGenerator is ignored when called through HTTP Rest API
2026-04-15 14:33:24 +02:00
Jan Rodák
9598b30ac2
Fix healthcheck failing silently with --transient-store
The systemd timer created for health checks did not pass global
podman flags to the subprocess, causing it to use default storage
settings instead of matching the parent process. This is most
visible with --transient-store, where the healthcheck looks up
the container in the default store instead of the volatile one.

Extract GlobalPodmanArgs() from CreateExitCommandArgs so both the
exit command and healthcheck timer share the same set of global
flags (--root, --runroot, --transient-store, --storage-driver, etc.).

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

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-04-14 14:13:20 +02:00
aadi58002
698c483b7c
fix: Ensure OCIRuntime Field is not ignored with HTTP Rest Api (#28454)
Signed-off-by: aadi58002 <aadi58002@gmail.com>
2026-04-14 13:48:11 +05:30
Ygal Blum
8059539425 Quadlet - Support empty source for Mount key
Fixes: #28497

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2026-04-13 17:28:33 -04:00
Paul Holzinger
05ff49a103
Merge pull request #27828 from lsm5/podman6-no-slirp-new
Podman6: Remove slirp
2026-04-13 19:24:28 +02:00
Paul Holzinger
c747adfa48
Merge pull request #28486 from Luap99/vendor-tools
test/tools: update swagger and crypto
2026-04-13 17:06:25 +02:00
Jan Rodák
b3151b0ebf
Merge pull request #28460 from containers/renovate/pytest-9.x
chore(deps): update dependency pytest to v9.0.3
2026-04-13 15:22:03 +02:00
Lokesh Mandvekar
3c79df31a4
Fix pasta_opts compose test to verify MTU option
Use podman exec to check ip link MTU instead of ncat-based host
connectivity test which does not actually validate pasta options.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2026-04-13 09:05:09 -04:00
Lokesh Mandvekar
8d6c23dad1
RPM/TMT: drop slirp4netns dependency
slirp4netns is no longer used as a rootless networking backend,
pasta is the only option. Remove the package requirement from
rpm/podman.spec and the TMT test setup.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2026-04-13 09:04:41 -04:00
Lokesh Mandvekar
cefb944647
Remove slirp4netns setup functions (preserve RLK)
Remove all slirp4netns-specific setup and helper functions while
preserving the RootlessRLK port mapping functions that are still
used by pasta and bridge networking.

Rename networking_slirp4netns.go to networking_rootlessport.go.
Convert the slirp4netns compose test to use pasta instead.
Remove rootlessSlirpSyncR/W fields from container struct and
getSlirp4netnsIP stub from FreeBSD networking.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2026-04-13 09:04:41 -04:00
Lokesh Mandvekar
22054b5180
test: Remove slirp4netns-specific test cases
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2026-04-13 08:22:35 -04:00
Tom Sweeney
ef7fdbabc4
Merge pull request #28464 from simonbrauner/volume-prune-fix-all-filter
Fix inconsistencies between --all and --filter=all in volume prune
2026-04-10 17:03:31 -04:00
Paul Holzinger
80df8f2f2e
Merge pull request #24126 from inknos/issue-23824
Docker compat: Return null when swappiness is unset instead of -1
2026-04-10 19:04:21 +02:00
Paul Holzinger
abd25c09e0
test/tools: update swagger to v0.33.2
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-10 12:48:12 +02:00
renovate[bot]
eb9f39acff
chore(deps): update module golang.org/x/crypto to v0.45.0 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-10 12:39:37 +02:00
Miloslav Trmač
dd0dd6c372
Merge pull request #28459 from Luap99/revert
Revert #28401, show :latest tag in artifact ls output when no explicit tag given
2026-04-08 20:42:30 +02:00
Paul Holzinger
3f2886556b
Merge pull request #28356 from Honny1/fix-remote-build
Remote build: `nTar` secrets with relative paths and ignore bypass
2026-04-08 19:49:48 +02:00
Nicola Sella
8dd7ac5756
Fix: set Swappiness when no mem limits
This hard codes -1 on inspect for Docker's API to return `null` and be compatible

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

Signed-off-by: Nicola Sella <nsella@redhat.com>
2026-04-08 15:10:11 +02:00
Šimon Brauner
4f252be4a0 Fix inconsistencies between --all and --filter=all in volume prune
Signed-off-by: Šimon Brauner <sbrauner@redhat.com>
2026-04-08 14:52:41 +02:00
renovate[bot]
3ca47bf897
chore(deps): update dependency pytest to v9.0.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 21:58:31 +00:00
Paul Holzinger
af4f2be43b
Revert "test(artifact): add e2e test for untagged artifact default tag"
This reverts commit 1d4465abf7.

As discussed on #28401 we should revert these changes.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-04-07 20:56:11 +02:00
Ricardo Branco
2d5f5395c2
test/system: Fix 260-sdnotify being silently skipped
PODMAN_CMD is uninitialized until basic_setup() runs, causing
podman_runtime() to invoke an empty command and fall back to [null].

Call basic_setup() before the runtime check to ensure PODMAN_CMD is
populated before use.

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2026-04-05 16:43:40 +02:00
Matt Heon
75d68ea174
Merge pull request #28414 from Honny1/fix-quadlet-lookup-strip
Fix Quadlet `Lookup()` stripping unmatched quotes
2026-03-31 11:14:47 -04:00
Jan Rodák
66c4c9c6b5
Merge pull request #28390 from crawfordxx/fix-docker-compat-stopped-state-28359
compat: map internal states to Docker equivalents in LibpodToContainer
2026-03-31 11:59:23 +02:00
Jan Rodák
cf6404f387
Fix Quadlet Lookup() stripping unmatched quotes
Fixes: https://github.com/containers/podman/issues/28409

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2026-03-31 10:27:39 +02:00
Matt Heon
9bea6e759a
Merge pull request #28382 from himgov/issue/28369
Add a Status filter to podman quadlet list #28369
2026-03-30 13:25:04 -04:00
Matt Heon
e3920188cc
Merge pull request #28408 from jdoss/fix/shell-driver-opts-cross-contamination
Fix shell driver DriverOpts cross-contamination in secret creation
2026-03-30 11:20:11 -04:00