Commit Graph

4316 Commits

Author SHA1 Message Date
Artem Sierikov
61291e8c70 quadlet: add cat alias for print
Add new alias `podman quadlet cat` to `podman quadlet print`
to align Podman's quadlet CLI with systemd conventions.

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

Signed-off-by: Artem Sierikov <sierikov@pm.me>
2025-10-22 20:05:08 +02:00
openshift-merge-bot[bot]
4a2e52f4ed Merge pull request #27182 from skyraider256526/main
feat: add `--format` flag to artifact inspect
2025-10-22 13:22:09 +00:00
openshift-merge-bot[bot]
c15e84534e Merge pull request #27292 from Honny1/pr-multi-file-support-kube
Add multi-file support to `podman kube play/down`
2025-10-22 11:46:42 +00:00
Paul Holzinger
339a432dd9 fix artifact inspect issues
Fix remaining CI issues from PR #27182.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-10-22 13:04:13 +02:00
axel7083
9bda788edf feat(cmd): podman kube play support multiple arguments
Signed-off-by: axel7083 <42176370+axel7083@users.noreply.github.com>

fix: update kube play command cobra use

Signed-off-by: axel7083 <42176370+axel7083@users.noreply.github.com>

Add multi-file support to podman kube play/down

- Support multiple YAML files and URLs in single command
- Combine files with YAML document separators (---)
- Refactor for better testability with dependency injection
- Update documentation with examples for multiple inputs
- Improve memory efficiency with streaming I/O operations

Fixes: https://github.com/containers/podman/issues/26274
Fixes: https://issues.redhat.com/browse/RUN-3586

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-10-22 12:10:46 +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]
935e82544a Merge pull request #27319 from NotSoFancyName/artifact-ls-created
artifact: added CREATED column to artifact ls
2025-10-21 15:07:26 +00:00
Akash Yadav
1fbf24b65b feat: add --format flag to artifact inspect
Many commands support the `--format` flag which accept a go template to
allow for formatting for certain values, but it is not
yet implemented for artifact inspect command.

Adding this feature will allow easy formatting in scripts as well as
running it on a terminal.

This feature is implemented for artifact inspect by taking reference
from images and network commands implementation.

Fixes: [#27112](https://github.com/containers/podman/issues/27112)

Signed-off-by: Akash Yadav <akashyadav256526@gmail.com>
2025-10-21 16:58:03 +05:30
openshift-merge-bot[bot]
b3ec5cf29e Merge pull request #26618 from mtrmac/sequoia
Add --sign-by-sq-fingerprint
2025-10-21 11:06:38 +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
openshift-merge-bot[bot]
1a8eb18b2b Merge pull request #27310 from mheon/default-runtime-flags
Add support for runtime flags in containers.conf
2025-10-20 10:57:46 +00:00
Volodymyr Pankin
538229da90 artifact: added CREATED column to artifact ls
Fixes: #27314

Signed-off-by: Volodymyr Pankin <volopank@gmail.com>
2025-10-19 20:22:55 +02: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
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
Rosvaldas Atstupėnas
0a20e22384 Add default runtime flags in config
Added a way to define default runtime flags in config.

Fixes: https://github.com/containers/common/issues/715

Default runtime flags should be defined as shown below:

[engine.runtimes_flags]
runsc = [
  "net-raw",
]

crun = [
  "debug",
]

Signed-off-by: Rosvaldas Atstupėnas <atstupenas.rosvaldas@gmail.com>
2025-10-16 13:51:46 -04:00
goldlinker
b394fe1a87 chore: remove repetitive word in cmd/podman/README.md
Signed-off-by: goldlinker <goldlinker@outlook.jp>
2025-10-16 15:25:34 +08: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
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
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
Jan Rodák
6d63d165ef Fix flaky sysctl completion by handling /proc/sys errors gracefully
Skip directories on any error during /proc/sys traversal (race conditions,
permission denied, etc.) to provide partial completion results rather than
failing completely. Use filepath.WalkDir for better performance.

Fixes: #27252

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-10-10 10:53:36 +02: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
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]
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]
77dd165e47 Merge pull request #27193 from shiavm006/fix-secret-ls-format-docs
secrets: align 'secret ls' format docs and completion
2025-10-02 19:40:20 +00:00
shiavm006
00309d3955 secret ls: align docs, completion, and tests; fix formatting
- Use SecretListReport for --format completion and correct help text
- Update manpage placeholders and ordering per xref rules
- Add and adjust e2e tests; verify CreatedAt contains 'ago'
- gofmt formatting fixes

Signed-off-by: shiavm006 <shivammittal42006@gmail.com>
2025-10-02 17:33:38 +05:30
Daniel J Walsh
6405925f79 Add artifact fallback to podman inspect command
This commit implements automatic artifact fallback for the podman inspect command
as requested in GitHub issue #27075.

Changes made:
- Add ArtifactType constant to cmd/podman/common/inspect.go
- Update AutocompleteInspectType to include artifact type in completions
- Add artifact case to main inspect switch statement for explicit --type artifact
- Implement artifact fallback in inspectAll function for automatic detection
- Update shell completion to recognize artifacts in getEntityType function
- Update command help text, usage, and examples to include artifacts
- Update podman-inspect.1.md man page with artifact documentation
- Add comprehensive e2e tests for artifact inspect functionality

The inspect command now automatically falls back to artifact inspection when
no container, image, volume, network, or pod matches the specified name.
Users can also explicitly use --type artifact for direct artifact inspection.

This maintains backward compatibility while extending functionality to support
the artifact object type seamlessly.

Examples:
  podman inspect myartifact                        # Auto-detects artifact
  podman inspect --type artifact myartifact       # Explicit artifact type
  podman inspect --format '{{.Name}}' myartifact  # Format support

Fixes: https://github.com/containers/podman/issues/27075
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2025-10-02 06:52:32 -04: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
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
Volodymyr Pankin
ebde5d1563 cmd: add auto completion for network create --interface-name
Fixes: #27113

Signed-off-by: Volodymyr Pankin <volopank@gmail.com>
2025-09-30 13:50:57 +02:00
openshift-merge-bot[bot]
6a6a8aba94 Merge pull request #27159 from nothiaki/artifact-list-virtual-size
Added virtual size option in artifact ls format
2025-09-29 14:29:03 +00:00
Osama Abdelkader
b5de5efb3e cmd/podman/system: fix error handling in renumber and migrate commands
- Change function signatures to return error instead of calling os.Exit()
- Update cobra commands to use RunE instead of Run for proper error handling
- Remove unused imports (fmt, os, define)
- Remove FIXME comments about error handling inconsistency

This allows defer statements to run properly and improves testability.

Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com>
2025-09-27 23:51:12 +03:00
Andrew Melnick
feb36e4fe6 Implement TLS API Support
* Added flags to point to TLS PEM files to use for exposing and connecting
  to an encrypted remote API socket with server and client authentication.
* Added TLS fields for system connection ls templates.
* Added special "tls" format for system connection ls to list TLS fields
  in human-readable table format.
* Updated remote integration and system tests to allow specifying a
  "transport" to run the full suite against a unix, tcp, tls, or mtls
  system service.
* Added system tests to verify basic operation of unix, tcp, tls, and mtls
  services, clients, and connections.

Signed-off-by: Andrew Melnick <meln5674.5674@gmail.com>
2025-09-26 09:09:54 -06:00
Celso Henrique Souza Silva
5ae0e0de3d cmd/podman: added virtual size option in artifact ls
Signed-off-by: Celso Henrique Souza Silva <celsohenrique367@gmail.com>
2025-09-24 19:03:02 -03:00
nothiaki
f0f05e22c6 cmd/podman: completion for --sysctl in create/run
Signed-off-by: Celso Henrique Souza Silva <celsohenrique367@gmail.com>
2025-09-24 13:27:10 -03:00
Miloslav Trmač
9e2850d0a8 Add --sign-by-sq-fingerprint to push operations
This adds a new feature that allows signing using Sequoia-backed
keys.  The existing options to sign using GPG-backed keys (and sigstore)
remain unchanged, and continue to use the same backends as usual.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-09-11 20:32:32 +02:00
Paul Holzinger
78e5a521b0 inline some conditionals
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-10 16:17:04 +02:00
Paul Holzinger
8631032556 run modernize -fix ./...
Using golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize

+ some manual cleanup in libpod/lock/shm/shm_lock_test.go as it
  generated an unused variable
+ restored one removed comment

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-10 16:17:04 +02:00
Paul Holzinger
b97525a78d use strings.SplitSeq where possible
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-10 16:17:04 +02:00
Paul Holzinger
c2506656c4 spf13/pflag: replace deprecated ParseErrorsWhitelist
Use ParseErrorsAllowlist instead, should still work the exact same.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-09-04 14:04:47 +02:00
Jan Kaluza
a98154a978 Switch common, storage and image to monorepo.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2025-09-01 12:33:04 +02:00
Jelle van der Waa
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
openshift-merge-bot[bot]
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
Jeff Mercer
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
openshift-merge-bot[bot]
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
Jan Rodák
cfe4d46d89 Optimize image loading for Podman machines
Add support for loading images directly from machine paths to avoid
unnecessary file transfers when the image archive is already accessible
on the running machine through mounted directories.

Changes include:
- New /libpod/local/images/load API endpoint for direct machine loading
- Machine detection and path mapping functionality
- Fallback in tunnel mode to try optimized loading first

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

Fixes: https://issues.redhat.com/browse/RUN-3249
Fixes: https://github.com/containers/podman/issues/26321

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-08-19 12:33:15 +02:00