Commit graph

7018 commits

Author SHA1 Message Date
Paul Holzinger
973ab34078 use return error handling in SetupRootless
There is no good reason to use logrus and os.Exit() here, other parts of
this function already return the error so do the same. The main podman
process will exit then with the normal formatted error message.

And also log an error about the last return which should never happen as
we should have exited above if the re-exec worked or errored out.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-11-26 10:18:30 +00:00
Paul Holzinger
97ad660c0c [v5.7] fix lint issues with github.com/cyphar/filepath-securejoin
The old location is deprecated and has been removed in v0.6.0 even. I
did this as extra commit to make cherry-picking easier.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2025-11-07 10:58:16 -05:00
Mario Loriedo
fb8644d551 Fix cache misses when pulling WSL machine image
Fixes a regression introduced by b2e6d53 that made always failing the
match of the WSL image from the registry with the image in the local
cache. The result was that the WSL machine image was always pulled from
quay.io even if an identical image was in the local cache.

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2025-11-05 11:53:57 +00:00
openshift-merge-bot[bot]
bc3b910276
Merge pull request #27340 from axel7083/feature/quadlet/kube-support-multiple-yaml
feat(quadlet: kube): support multiple Yaml entries
2025-10-22 20:32:58 +00:00
openshift-merge-bot[bot]
08c670b232
Merge pull request #27263 from Honny1/fix-docs
docs: add missing manifest parameter to build API endpoints
2025-10-22 15:14:14 +00:00
axel7083
8e013c0012
feat(quadlet: kube): support multiple Yaml entries
fixes https://github.com/containers/podman/issues/26274

Signed-off-by: axel7083 <42176370+axel7083@users.noreply.github.com>
2025-10-22 16:09:47 +02:00
Celso Henrique Souza Silva
0ea4eaee70 cmd/podman: add replace flag to quadlet install
Signed-off-by: Celso Henrique Souza Silva <celsohenrique367@gmail.com>
Fixes: #26930
2025-10-21 14:03:23 -03:00
openshift-merge-bot[bot]
b342596e1c
Merge pull request #27269 from Honny1/fix-unmarshal-prunereport
fix: system prune JSON unmarshalling error in remote client
2025-10-21 15:15:57 +00:00
openshift-merge-bot[bot]
9146ef6ac0
Merge pull request #27302 from arsenalzp/podman_26396
Add option to remove Pod name prefix in resulting container name
2025-10-20 23:47:40 +00:00
Oleksandr Krutko
bb4fa066b3 fix remote command parameters
Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>
2025-10-18 02:08:51 +03:00
openshift-merge-bot[bot]
f2a559a8fe
Merge pull request #27309 from ygalblum/quadlet-build-ignorefile
Quadlet build - add support for IgnoreFile key
2025-10-17 15:37:32 +00:00
openshift-merge-bot[bot]
49c1fd6cea
Merge pull request #27270 from lsm5/new-octal-format
fileperms: newer Go 1.13+ octal literal format
2025-10-17 14:36:36 +00:00
Daniel J Walsh
a27fd9bd89
Allow artifact add to override org.opencontainers.image.title annotation
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2025-10-16 14:24:57 -04:00
Lokesh Mandvekar
74788a3fe1
fileperms: newer Go 1.13+ octal literal format
Problem: While removing cgroupsv1 code, I noticed my neovim Go config
automatically changed fileperms to the new octal format and I didn't
want that polluting my diffs.

Decision: I thought it best to switch to the new octal format in a dedicated PR.

Action:
- Cursor switched to new octal format for all fileperm ocurrences in Go
 source and test files.
- vendor/, docs/ and non-Go files were ignored.
- Reviewed manually.

Ref: https://go.dev/ref/spec#Go_1.13

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2025-10-16 14:11:29 -04:00
Ygal Blum
1800b34b51 Quadlet build - add support for IgnoreFile key
Resolves: https://github.com/containers/podman/issues/27268

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-10-16 14:02:04 -04:00
openshift-merge-bot[bot]
ab7abbab67
Merge pull request #27307 from baude/rmlibartifact
remove libartifact from podman
2025-10-16 16:56:28 +00:00
openshift-merge-bot[bot]
ba4d836044
Merge pull request #27256 from givensuman/T-27065-add-quadlet-build-args-support
Add BuildArg key to quadlets
2025-10-16 15:24:52 +00:00
Brent Baude
cfd4cc0932 remove libartifact from podman
pkg/libartifact has been moved to common and as such needs to be removed
from podman and the new common vendored in along with required deps.

https://issues.redhat.com/browse/RUN-3618

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-10-16 09:55:59 -05:00
Oleksandr Krutko
098d8efecc add option to remove Pod name prefix in resulting container name
Signed-off-by: Oleksandr Krutko <alexander.krutko@gmail.com>
2025-10-15 23:37:03 +03:00
Jan Rodák
56fee79d3c
fix: system prune JSON unmarshalling error in remote client
Add custom JSON methods to PruneReport to handle error field marshalling.

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

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-10-14 14:33:12 +02:00
openshift-merge-bot[bot]
32d6c54054
Merge pull request #26624 from Odilhao/artifact-quadlet-implementation
Add artifact quadlet unit type support
2025-10-13 14:41:25 +00:00
Jan Rodák
b2aefd4cf9
docs: add missing manifest parameter to build API endpoints
Add manifest parameter documentation to /libpod/build, and /libpod/local/build endpoints in OpenAPI spec.

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

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-10-13 10:05:36 +02:00
Odilon Sousa
34254cd1d0 Add artifact quadlet unit type support
RFE: Add artifact quadlet unit type #25778

Signed-off-by: Odilon Sousa <osousa@redhat.com>
2025-10-10 11:08:33 -03:00
openshift-merge-bot[bot]
3e85b2ef8f
Merge pull request #27250 from nimdrak/27120
Pod Quadlet can configure podman pod stop --time
2025-10-09 16:38:27 +00:00
Jan Rodák
a1e7e9a46d
Add local build API for direct filesystem builds on MacOS and Windows (only WSL)
Adds /libpod/local/build endpoint, client bindings, and path translation
utilities to enable container builds from mounted directories to podman machine without tar uploads.

This optimization significantly speeds up build operations when working with remote Podman machines by eliminating redundant file transfers for already-accessible files.

Fixes: https://issues.redhat.com/browse/RUN-3249

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-10-09 15:14:48 +02:00
givensuman
720e263767 Add BuildArg key to quadlets
Signed-off-by: givensuman <givensuman@duck.com>
2025-10-08 12:44:11 -04:00
ByoungUk Lee
d1c43e3ae8 Fixed #27120: Pod Quadlet can configure podman pod stop --time
Signed-off-by: ByoungUk Lee <nimdrak@gmail.com>
2025-10-08 23:53:14 +09:00
openshift-merge-bot[bot]
7fecff5c29
Merge pull request #27239 from Honny1/fix-mapping-ns
Fix --userns=ns:<path> conflicting with runc 1.1.11+
2025-10-07 19:21:01 +00:00
openshift-merge-bot[bot]
2455ac327d
Merge pull request #27153 from rhatdan/cursor
Add --replace option to podman artifact add command
2025-10-07 17:09:03 +00:00
Jan Rodák
79ecc1d56b
Fix --userns=ns:<path> conflicting with runc 1.1.11+
Remove dummy UID/GID mappings added when joining existing user
namespaces, which runc 1.1.11+ rejects as conflicting.

RUNC fix: https://github.com/opencontainers/runc/pull/4124

Fixes #27148

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-10-07 15:45:45 +02:00
Jan Rodák
98cb7b75d9
quadlet: standardize Convert function signatures
Remove unused 'name' parameter from ConvertPod and reorder ConvertContainer
parameters to match other Convert functions (unitFile, unitsInfoMap, isUser).

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-10-06 18:26:47 +02:00
Daniel J Walsh
b765c91580
Add --replace option to podman artifact add command
This commit implements the --replace functionality for the artifact add command,
allowing users to replace existing artifacts without having to manually remove
them first.

Changes made:
- Add Replace field to ArtifactAddOptions entity types
- Add --replace CLI flag with validation to prevent conflicts with --append
- Implement replace logic in ABI backend to remove existing artifacts before adding
- Update API handlers and tunnel implementation for podman-remote support
- Add comprehensive documentation and examples to man page
- Add e2e and system BATS tests for --replace functionality
- Fix code formatting in pkg/bindings/artifacts/types_pull_options.go:
  * Reorder imports with proper spacing
  * Fix function declaration spacing
  * Convert spaces to proper tab indentation
  * Remove extraneous blank lines

The --replace option follows the same pattern as other podman replace options
like 'podman container create --replace' and 'podman pod create --replace'.
It gracefully handles cases where no existing artifact exists (no error thrown).

Usage examples:
  podman artifact add --replace quay.io/myimage/artifact:latest /path/to/file
  podman artifact add --replace localhost/test/artifact /tmp/newfile.txt

Fixes: Implements requested --replace functionality for artifact add command
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2025-10-06 12:22:40 -04:00
Jan Rodák
09e535fb46
quadlet: remove unused 'name' parameter from ConvertNetwork and ConvertVolume
The 'name' parameter was unused in both ConvertNetwork and ConvertVolume functions.
Remove the parameter entirely and update all function calls accordingly.

This fixes revive linter warnings:
- pkg/systemd/quadlet/quadlet.go:961:47: unused-parameter: parameter 'name' seems to be unused
- pkg/systemd/quadlet/quadlet.go:1050:45: unused-parameter: parameter 'name' seems to be unused

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-10-06 14:00:49 +02:00
openshift-merge-bot[bot]
8daac5220c
Merge pull request #25647 from aguidirh/fix/issue-23915
fix: #23915 podman build is not parsing sbom command line arguments
2025-10-06 10:16:24 +00:00
Alex Guidi
4bd6aff4b6
fix: #23915 podman build is not parsing sbom command line arguments
Signed-off-by: Alex Guidi <aguidi@redhat.com>

add sbom flags on server side for podman-remote

Signed-off-by: Alex Guidi <aguidi@redhat.com>
2025-10-03 22:28:36 +02:00
openshift-merge-bot[bot]
ef584d4d6d
Merge pull request #27169 from ygalblum/quadlet-template-dependency
Quadlet - Support template dependency
2025-10-03 15:51:31 +00:00
openshift-merge-bot[bot]
0a58e05a68
Merge pull request #27142 from nothiaki/feat-artifact-rm-ignore
Feat artifact rm ignore
2025-10-03 15:45:28 +00:00
openshift-merge-bot[bot]
089d153fb6
Merge pull request #27203 from nothiaki/quadlets-api-resource
pkg/api: api list quadlets resource
2025-10-03 12:59:32 +00:00
Celso Henrique
b415b0ad3e
Update pkg/api/server/register_artifacts.go
Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
Signed-off-by: Celso Henrique <86984438+nothiaki@users.noreply.github.com>
2025-10-02 20:23:15 -03:00
Celso Henrique Souza Silva
a724fce8aa pkg/api: api list quadlets resource
Signed-off-by: Celso Henrique Souza Silva <celsohenrique367@gmail.com>
2025-10-01 21:10:36 -03:00
nothiaki
3c3b805ea7 cmd/podman: --ignore errors flag to artifact rm
Signed-off-by: Celso Henrique Souza Silva <celsohenrique367@gmail.com>
2025-10-01 18:22:26 -03:00
Matt Souza
090304a054 lint: reenable revive unused-parameter check
Signed-off-by: Matt Souza <medsouz99@gmail.com>
2025-10-01 10:42:08 -04:00
Ygal Blum
83e65f91a4 Quadlet - Support template dependency
Add support for Volumes and Networks
Add e2e and system tests

Resolves: https://github.com/containers/podman/issues/25136

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2025-09-30 13:41:20 -04:00
openshift-merge-bot[bot]
3747e3db3f
Merge pull request #24601 from meln5674/feature/remote-tls
Support (m)TLS API Socket
2025-09-30 16:19:14 +00:00
ByoungUk Lee
87b4f842de test: fix "run healthcheck" bindings test
Signed-off-by: ByoungUk Lee <nimdrak@gmail.com>
2025-09-30 22:58:34 +09:00
Kir Kolyshkin
ef0a7dd486 pkg/api/handlers/compat: use strings.CutPrefix
This way we don't check the string twice.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-09-29 22:17:51 -07:00
Kir Kolyshkin
f198fe6b13 pkg/machine/wsl: use any instead of interface{}
Since Go 1.18, any is a type alias for interface{}. After commit 8631032556
there is still one last instance of interface{} left -- replace it
manually.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-09-29 22:11:39 -07:00
Kir Kolyshkin
5824197774 pkg/machine/e2e: remove obsoleted comment
The code which comment refers to was removed by commit 2e4e1bb97c
("podman machine ssh handling"), so the comment is no longer valid.

Remove it.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-09-29 22:05:58 -07:00
openshift-merge-bot[bot]
e57a7f3694
Merge pull request #27172 from ninja-quokka/docker_compate_145
[compat api] Remove ContainerConfig field
2025-09-29 13:45:07 +00:00
Lewis Roy
571866775d
[compat api] Remove ContainerConfig field
ContainerConfig has been removed from v1.45

InspectResponse.Container has also been removed but it seems we never implemented it.

Ref: https://docs.docker.com/reference/api/engine/version-history/#v145-api-changes
Signed-off-by: Lewis Roy <lewis@redhat.com>
2025-09-27 20:50:30 +10:00