25987 Commits

Author SHA1 Message Date
98072bfcea refactor: modularize build REST API with utility functions
- Extract BuildQuery and BuildContext structs from inline definitions
- Split monolithic BuildImage into focused helper functions
- Add generic JSON parsing utilities (ParseOptionalJSONField, etc.)
- Introduce ResponseSender for consistent build response streaming

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-09-03 10:54:41 +02:00
2acf5c0119 libpod: Fix the jailName helper
At one point, we created multiple jails per container in order to enable
network configuration from outside the container jail.  On FreeBSD 14.x
and later this is not necessary and there is only one jail per
container.  In this case, return the correct jail name.

Signed-off-by: Mark Johnston <mark.johnston@klarasystems.com>
2025-09-02 16:17:18 +00:00
a250fee0ec libpod: Fix "top" support on FreeBSD
FreeBSD's ps ignores -J if -a is specified, so "podman top" would
effectively just run ps -a, not terribly useful.  But there's no need to
specify -a when specifying a selector such as -J (or -G or -U, etc.).

Signed-off-by: Mark Johnston <mark.johnston@klarasystems.com>
2025-09-02 16:17:18 +00:00
5ba23ccad5 compat: Deduplicate the Linux and FreeBSD containers/stats helpers
Signed-off-by: Mark Johnston <mark.johnston@klarasystems.com>
2025-09-02 16:17:11 +00:00
a341a4ee24 compat: Add a stub container/stats handler for FreeBSD
The container/stats endpoint was unimplemented.  Copy over the structure
from the Linux endpoint handler, albeit with most of the stats
unpopulated.  This is similar to how "podman stats" returns very little
info on FreeBSD.  On the other hand, some orchestration tools will query
the stats endpoint to check liveness of a container, so it's useful to
implement it even though some fields are unimplemented for now.

Signed-off-by: Mark Johnston <mark.johnston@klarasystems.com>
2025-09-02 16:14:25 +00:00
6d0b28a5c4 Merge pull request #26943 from containers/renovate/github.com-shirou-gopsutil-v4-4.x
fix(deps): update module github.com/shirou/gopsutil/v4 to v4.25.8
2025-09-02 14:54:04 +00:00
ca19491f91 Merge pull request #26947 from Luap99/system-test-fixes
test/system: some small fixes
2025-09-02 14:21:23 +00:00
9d7a24e654 Merge pull request #26945 from Luap99/vol-opts
do not pass volume options as bind mounts options to runtime
2025-09-02 14:18:15 +00:00
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
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
247a80db45 test/system: remove distro-integration bats tag
The distro-integration tag was added for fedora openQA to only run a
subset of tests. However since it was added only a few new tests have
been labelled like that and in general a normal contributor or even
maintianer has no idea when to add this tag.

We also have been seeing several regressions getting into fedora that
these tests would have caught. As such I worked with Adam to enable all
tests for fedora openQA so we actually have proper coverage. This has
been working for a few weeks so I think we can dop these tags so
upstream does not need to bother with them at all.

https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/373

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-02 12:10:08 +02:00
ee45782079 test/system: fix podman load - from URL
The test pulled a new $IMAGE already because it runs the http server
container. So this doesn't striclty ensure the load works correctly.

Make sure to actually test the load of a different image, so we use
$PODMAN_NONLOCAL_IMAGE_FQN for that like another load test already
does.

I noticed this as the image pull on the webserver start flaked in
a openQA run. Using _prefetch should help to reduce the network pulls
here as it caches the image locally once it is pulled for the first
time.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-02 12:10:08 +02:00
fcdb6b59d9 Merge pull request #26956 from containers/renovate/github.com-spf13-cobra-1.x
fix(deps): update module github.com/spf13/cobra to v1.10.1
2025-09-02 09:56:08 +00:00
20fb712872 test/system: do not connect to github server
This is an unnecessary network connection that flakes from time to time.
Spawn our own local server instead and use that. That also allows to
check that the actual file content has been copied.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-02 11:51:08 +02:00
59df0782f2 Handle SIGPIPE to prevent machine stuck in Starting state
Fixes: #26949
Signed-off-by: Jiri Dostal <jdostal@redhat.com>
2025-09-02 09:39:29 +02:00
9b8e785e3c fix(deps): update module github.com/spf13/cobra to v1.10.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-01 20:28:02 +00:00
706f72b9c2 Merge pull request #26946 from containers/renovate/github.com-checkpoint-restore-checkpointctl-1.x
fix(deps): update module github.com/checkpoint-restore/checkpointctl to v1.4.0
2025-09-01 17:07:59 +00:00
428c854be6 Merge pull request #26932 from ogajduse/feature/quadlet-httpproxy-26925
quadlet: add HttpProxy option for Container sections
2025-09-01 16:04:15 +00:00
39072f7ce2 Merge pull request #26858 from jankaluza/monorepo
Switch common, storage and image to monorepo.
2025-09-01 13:07:53 +00:00
c65fd9a2c2 quadlet: add HttpProxy option for Container sections
Add support for HttpProxy key in quadlet Container sections to control
proxy environment variable inheritance during image pulls and builds.

- HttpProxy=true enables proxy inheritance (default podman behavior)
- HttpProxy=false disables proxy inheritance
- When omitted, uses podman's default behavior

This addresses the need for declarative proxy configuration in IPv6-only
networks and other scenarios where proxy settings need to be controlled
at the container level without manual workarounds.

Fixes #26925

Signed-off-by: Ondřej Gajdušek <ogajduse@redhat.com>
2025-09-01 13:45:06 +02:00
0786dac553 Merge pull request #26944 from containers/renovate/go-github.com-ulikunitz-xz-vulnerability
chore(deps): update module github.com/ulikunitz/xz to v0.5.15 [security]
2025-09-01 11:09:30 +00:00
26aafb21d2 fix(deps): update module github.com/checkpoint-restore/checkpointctl to v1.4.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-01 10:51:34 +00:00
46d757501a do not pass [no]copy as bind mounts options to runtime
Starting with runc 1.3.0 it errors when we pass unknown mount options to
the runtime, the copy/nocopy options are specific to podman when we
mount the volume and are not valid mount options for the runtime.

Fixes: #26938

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-01 12:48:43 +02:00
4e2a04dedc do not pass volume-opt as bind mounts options to runtime
Starting with runc 1.3.0 it errors when we pass unknown mount options to
the runtime, the volume-opt options are specifc to the volume we create
and should not be passed to the mount in the oci spec.

Fixes: #26938

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-01 12:48:43 +02:00
a98154a978 Switch common, storage and image to monorepo.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-09-01 12:33:04 +02:00
92758e2eec Merge pull request #26942 from containers/renovate/github.com-spf13-pflag-1.x
fix(deps): update module github.com/spf13/pflag to v1.0.9
2025-09-01 10:13:27 +00:00
c8681b6028 chore(deps): update module github.com/ulikunitz/xz to v0.5.15 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-01 09:06:13 +00:00
0f477eaaa6 fix(deps): update module github.com/spf13/pflag to v1.0.9
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-01 08:27:37 +00:00
573fd0d7eb fix(deps): update module github.com/shirou/gopsutil/v4 to v4.25.8
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-01 08:04:18 +00:00
dedeb24e9f Merge pull request #26931 from jelly/mention-zst
Mention zstandard tarball import support
2025-08-29 17:39:28 +00:00
7f50da7ebe Merge pull request #26885 from containers/renovate/go-github.com-go-viper-mapstructure-v2-vulnerability
chore(deps): update module github.com/go-viper/mapstructure/v2 to v2.4.0 [security]
2025-08-29 16:46:23 +00:00
b9812e3d9e Mention zstandard tarball import support
The `podman-import` man page already mentions support for zstd
compressed tarball support but the cli output didn't.

Signed-off-by: Jelle van der Waa <jvanderwaa@redhat.com>
2025-08-29 17:51:04 +02:00
dc1ccba6cb Merge pull request #26813 from fiesh/improve-documentation
Improve dns documentation
2025-08-29 15:08:19 +00:00
07bb6706e6 Merge pull request #26923 from containers/renovate/github.com-onsi-ginkgo-v2-2.x
fix(deps): update module github.com/onsi/ginkgo/v2 to v2.25.2
2025-08-29 10:14:03 +00:00
80348a50d0 chore(deps): update module github.com/go-viper/mapstructure/v2 to v2.4.0 [security]
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-29 09:40:26 +00:00
74f5ed71b9 Merge pull request #26713 from Luap99/deps-script
contrib: add script and docs to analyze dependency usage
2025-08-28 19:32:29 +00:00
ecd5dfe635 Merge pull request #26915 from containers/renovate/github.com-stretchr-testify-1.x
fix(deps): update module github.com/stretchr/testify to v1.11.1
2025-08-28 18:58:49 +00:00
3d4f8153be fix(deps): update module github.com/onsi/ginkgo/v2 to v2.25.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-28 18:34:59 +00:00
43305b6cc4 Merge pull request #26921 from ricardobranco777/bye_netcat
tests: Get rid of netcat on the host and use Bash's /dev/tcp
2025-08-28 18:33:30 +00:00
3effff42eb tests: Get rid of netcat on the host and use Bash's /dev/tcp
The only remaining uses of nc now are in containers.

Signed-off-by: Ricardo Branco <rbranco@suse.de>
2025-08-28 17:43:47 +02:00
b5a0c495c0 Merge pull request #26920 from ricardobranco777/socat
tests: Replace ncat for socat
2025-08-28 14:46:12 +00:00
0ff079d320 tests: Replace ncat for socat
Signed-off-by: Ricardo Branco <rbranco@suse.de>
2025-08-28 15:38:12 +02:00
cb59650a16 Merge pull request #26891 from winterqt/push-ozksmwkumrrs
fix(libpod): truncate long hostnames to correct maximum length
2025-08-28 12:55:27 +00:00
68b6876481 Merge pull request #26895 from intirix/tcp-close
Add support for criu's tcp-close functionality.
2025-08-28 10:40:59 +00:00
9c3652c188 Add support for criu's tcp-close functionality.
Fixes: #26676
Signed-off-by: Jeff Mercer <jeff.mercer@gmail.com>
2025-08-27 18:52:34 -04:00
e467439ab8 test/e2e: actually start container in startContainer
https://github.com/containers/podman/pull/26891#pullrequestreview-3152061969

Signed-off-by: Winter M <winter@antithesis.com>
2025-08-27 16:14:15 -04:00
3a1ce1fb3d fix(deps): update module github.com/stretchr/testify to v1.11.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-27 16:17:37 +00:00
835c581c4b Merge pull request #26737 from arsenalzp/podman-26691
Podman wait condition for return of first container
2025-08-27 16:03:29 +00:00
43c95d2c0b Merge pull request #26884 from Luap99/vendor
vendor: update c/{buildah, common, image, storage} to latest main
2025-08-26 09:40:40 +00:00
8e59c948df test/buildah-bud: skip new failing test
see #26906

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-08-26 10:03:57 +02:00