Commit Graph

2026 Commits

Author SHA1 Message Date
OpenShift Merge Robot
696f4a6a4d Merge pull request #20038 from TomSweeneyRedHat/dev/tsweeney/nit_farm
[CI:DOCS] Tweak podman to Podman in a few farm man pages
2023-09-19 21:53:47 +02:00
OpenShift Merge Robot
6a4df3af3f Merge pull request #20037 from mheon/fix_sigproxy_docs
[CI:DOCS] Docs on sig-proxy are wrong, we support TTY
2023-09-19 21:51:11 +02:00
TomSweeneyRedHat
b0f7072ac9 [CI:DOCS] Tweak podman to Podman in a few farm man pages
While doing a review of the farm man pages after they had been
submitted, I found a few references to "podman" that should have
been "Podman".  I have touched those up in this commit.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2023-09-19 14:16:24 -04:00
Matt Heon
8afffa1aa7 Docs on sig-proxy are wrong, we support TTY
Also, we don't proxy SIGURG (Golang uses it internally for waking
threads, so Go processes get it constantly (see [1] for more
details).

[1] https://github.com/golang/go/issues/37942

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-09-19 13:25:50 -04:00
OpenShift Merge Robot
8434471a3f Merge pull request #20007 from rahilarious/main
[CI:DOCS] Improve podman-{tag,build} man pages
2023-09-18 20:18:54 +02:00
Rahil Bhimjiani
47160da7ac [CI:DOCS] Improve podman-tag man page
Signed-off-by: Rahil Bhimjiani <rahil3108@gmail.com>
2023-09-18 21:55:06 +05:30
Rahil Bhimjiani
ef553fb0de [CI:DOCS] Improve podman-build man page
Signed-off-by: Rahil Bhimjiani <rahil3108@gmail.com>
2023-09-18 21:55:06 +05:30
OpenShift Merge Robot
364f989c45 Merge pull request #20005 from rhatdan/run
[CI:DOCS] Fix specification of unix:///run
2023-09-18 17:56:02 +02:00
OpenShift Merge Robot
1d7efcbe20 Merge pull request #19912 from ygalblum/quadlet-unit-image
Quadlet - add support for .image units
2023-09-18 17:50:17 +02:00
OpenShift Merge Robot
81ddf48869 Merge pull request #20012 from vrothberg/module-parsing
error when --module is specified on the command level
2023-09-18 16:40:49 +02:00
Ed Santiago
a80a908df7 [CI:DOCS] consistentize filter options in man pages
Some --filter descriptions listed the filters with asterisks,
i.e. markdown italics. There were 60+ of those, 250+ without
asterisks, so I choose to de-asterisk them all. Update the
xref script to remove the allow-asterisk exception. (Except
for the column title, which is sometimes written with two
asterisks--boldface--and sometimes plain).

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-18 07:41:28 -06:00
Ygal Blum
55ca571e55 Quadlet - add support for .image units
main
----
Use order number to order the units processing
Process .image file
Usage of .image file should not log Ambiguous Name warning
Use AmbiguousName for .volume and .image units

Quadlet
-------
Convert .image files
Add driver and Image keys to .volume files
Handle usage of .image as Image

Man Page
--------
Add comments for new keys in .volume file
Add comment about using .image files as images
Add section about .image units

Tests
-----
Add integration tests
Add system test

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
2023-09-18 16:26:18 +03:00
Valentin Rothberg
0b7142f4a4 error when --module is specified on the command level
The --module can only be parsed on the root level.  It cannot work on
the command level, because it must be "manually" parsed on init() to
make sure the specified configuration files/modules are loaded prior to
parsing the flags via Cobra.

Hence move --module from the "persistent" to the "local" flags which
will yield an error instead of doing nothing when being specified on the
command level:

```
$ ./bin/podman run --module=foo.conf --rm alpine
Error: unknown flag: --module
See 'podman run --help'
```

Reported in #20000.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-09-18 13:52:38 +02:00
Ed Santiago
deba3b80a1 man page crossrefs: add --filter autocompletes
For all commands with a --filter option, cross-reference
against man pages, and vice-versa.

I'm sorry. I know this script has gone off the deep end.

[NO NEW TESTS NEEDED] although actually I would like to test some broken completions

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-09-17 06:20:33 -06:00
OpenShift Merge Robot
5dc4370d91 Merge pull request #19911 from xtexChooser/xtex/impl-container-label-not
Add label! filter to container filters
2023-09-17 13:47:23 +02:00
Daniel J Walsh
03dd5f2568 Fix specification of unix:///run
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-09-17 07:37:14 -04:00
xtex
98e6dda697 Add label! filter and tests to containers and pods
Thanks to Ed Santiago <santiago@redhat.com> for tests.

Signed-off-by: xtex <xtexchooser@duck.com>
2023-09-16 18:46:33 +08:00
OpenShift Merge Robot
3984b45b42 Merge pull request #19976 from plettich/patch-1
[CI:DOCS] Fix some spelling and formatting  in volume options
2023-09-14 17:49:43 +02:00
OpenShift Merge Robot
33e565520f Merge pull request #19951 from Luap99/small-remote
podman-remote debloat: remove libimage dependency
2023-09-14 15:27:45 +02:00
Paul Lettich
c689fb4a5b Fix some spelling and formatting
Signed-off-by: Paul Lettich <paul.lettich@netknights.it>
2023-09-14 14:46:50 +02:00
Daniel J Walsh
522e0f43f4 Add support for Ulimit in quadlet
QM needs to be able to specify the maximum number of open files within the QM
environment to ensure FFI.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-09-14 06:17:43 -04:00
OpenShift Merge Robot
957523e62a Merge pull request #19969 from eriksjolund/rewrite-restart-md
[CI:DOCS] restart.md: migrate to container unit
2023-09-14 12:08:44 +02:00
OpenShift Merge Robot
88b415e341 Merge pull request #19955 from rhatdan/quadlet
Add support for PidsLimit in quadlet
2023-09-14 11:48:03 +02:00
Paul Holzinger
6b7f718b4b wire in new buildah build options
Add support for --layerLabel.
Support for --cw is only added for the local client. I am not sure how
I would wire this over remote. The current code parse the options in
the frontend which hard codes the Tmpdir field to an incorrect value if
we would json marshal this vie remote API so it would not work in real
remote cases.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-09-14 11:21:00 +02:00
Erik Sjölund
bf86ed72c2 [CI:DOCS] restart.md: migrate to container unit
Fixes: https://github.com/containers/podman/issues/19968

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-09-14 06:51:35 +02:00
Daniel J Walsh
4ed3273f68 Add support for PidsLimit in quadlet
QM needs to be able to specify the maximum number of PIDs within the QM
environment to ensure FFI.
Picking a total of 10,000 Pids might be a rasonable constraint on the
QM.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-09-13 14:32:35 -04:00
ryanhockstad
883612eff3 Merge branch 'containers:main' into main 2023-09-13 14:23:16 -04:00
Ryan Hockstad
70560f9168 Add DNS fields to Container and Network unit groups
Signed-off-by: Ryan Hockstad <ryanhockstad@gmail.com>
2023-09-13 13:16:53 -04:00
Paul Holzinger
777b5efa4e [CI:DOCS] update API docs version list
Also update the RELEASE_PROCESS doc so maybe it will not be forgotten
next time.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-09-13 17:07:14 +02:00
OpenShift Merge Robot
e8c4d7966b Merge pull request #19952 from mheon/init_cannot_modify
[CI:DOCS] The `podman init` command cannot modify containers.
2023-09-12 21:33:53 +02:00
Matt Heon
5920bfa2ef The podman init command cannot modify containers.
`podman init` is a debugging command for inspecting a container's
OCI spec before it runs, to look for anything suspicious. It is
not capable of supporting modifications to that spec, as it
starts Conmon and thus the OCI runtime, so the spec has already
been loaded by the time `podman init` is run.

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-09-12 13:28:42 -04:00
Lokesh Mandvekar
806c5de12a Podmansh: use podmansh_timeout
podmansh_timeout is now a configurable option in containers.conf.

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-09-12 09:18:24 -04:00
danishprakash
cdcf18b862 kube: add DaemonSet support for generate
Signed-off-by: danishprakash <danish.prakash@suse.com>
2023-09-12 10:30:57 +05:30
Erik Sjölund
65a64da271 [CI:DOCS] podman-systemd.unit: fix equivalents
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-09-11 07:41:10 +02:00
Daskan
5eb0a53a0a Update podman-kube-play.1.md.in
To avoid the error:
`Error: unable to read YAML as Kube Pod: error unmarshaling JSON: while decoding JSON: json: cannot unmarshal object into Go struct field Container.spec.containers.command of type string`

Also makes it easier to understand as you only need the image parameter.

Signed-off-by: Daskan <kevin81991@web.de>
2023-09-09 21:41:41 +02:00
Daniel J Walsh
27495981ce Some distros do not default to docker.io for shortname searches
Fixes: #18910

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-09-06 13:37:08 -04:00
Giuseppe Scrivano
8b4a79a744 linux, rootless: clamp oom_score_adj if it is too low
when running rootless, if the specified oom_score_adj for the
container process is lower than the current value, clamp it to the
current value and print a warning.

Closes: https://github.com/containers/podman/issues/19829

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-09-04 14:44:14 +02:00
OpenShift Merge Robot
66fa48af42 Merge pull request #19804 from nishipy/ja_index
[CI:DOCS] Add Japanese locale and translation of index
2023-08-31 22:47:37 +02:00
guoguangwu
13342e5039 fix: default typo
Signed-off-by: guoguangwu <guoguangwu@magic-shield.com>
2023-08-31 18:14:59 +08:00
Takuya Nishimura
3a6fc8d2b7 Add Japanese locale and translation of index
Signed-off-by: Takuya Nishimura <goodisonev4@gmail.com>

Fix typo

Signed-off-by: Takuya Nishimura <goodisonev4@gmail.com>

Fix typo

Signed-off-by: Takuya Nishimura <goodisonev4@gmail.com>
2023-08-31 13:53:48 +09:00
Sergio Oller
18d35b6122 Fix gidmap command in example
Since we do not want the mapping to be applied to uids,
we should use the `g` flag in the mapping in the example
as well.

Follow up of #18173

Signed-off-by: Sergio Oller <sergioller@gmail.com>
2023-08-30 13:47:23 +02:00
Sergio Oller
91b8bc7f13 uid/gid mapping flags
Motivation
===========

This feature aims to make --uidmap and --gidmap easier to use, especially in rootless podman setups.

(I will focus here on the --gidmap option, although the same applies for --uidmap.)

In rootless podman, the user namespace mapping happens in two steps, through an intermediate mapping.

See https://docs.podman.io/en/latest/markdown/podman-run.1.html#uidmap-container-uid-from-uid-amount
for further detail, here is a summary:

First the user GID is mapped to 0 (root), and all subordinate GIDs (defined at /etc/subgid, and
usually >100000) are mapped starting at 1.

One way to customize the mapping is through the `--gidmap` option, that maps that intermediate mapping
to the final mapping that will be seen by the container.

As an example, let's say we have as main GID the group 1000, and we also belong to the additional GID 2000,
that we want to make accessible inside the container.

We first ask the sysadmin to subordinate the group to us, by adding "$user:2000:1" to /etc/subgid.

Then we need to use --gidmap to specify that we want to map GID 2000 into some GID inside the container.

And here is the first trouble:

Since the --gidmap option operates on the intermediate mapping, we first need to figure out where has
podman placed our GID 2000 in that intermediate mapping using:

    podman unshare cat /proc/self/gid_map

Then, we may see that GID 2000 was mapped to intermediate GID 5. So our --gidmap option should include:

    --gidmap 20000:5:1

This intermediate mapping may change in the future if further groups are subordinated to us (or we stop
having its subordination), so we are forced to verify the mapping with
`podman unshare cat /proc/self/gid_map` every time, and parse it if we want to script it.

**The first usability improvement** we agreed on #18333 is to be able to use:

    --gidmap 20000:@2000:1

so podman does this lookup in the parent user namespace for us.

But this is only part of the problem. We must specify a **full** gidmap and not only what we want:

    --gidmap 0:0:5 --gidmap 5:6:15000 --gidmap 20000:5:1

This is becoming complicated. We had to break the gidmap at 5, because the intermediate 5 had to
be mapped to another value (20000), and then we had to keep mapping all other subordinate ids... up to
close to the maximum number of subordinate ids that we have (or some reasonable value). This is hard
to explain to someone who does not understand how the mappings work internally.

To simplify this, **the second usability improvement** is to be able to use:

   --gidmap "+20000:@2000:1"

where the plus flag (`+`) states that the given mapping should extend any previous/default mapping,
overriding any previous conflicting assignment.

Podman will set that mapping and fill the rest of mapped gids with all other subordinated gids, leading
to the same (or an equivalent) full gidmap that we were specifying before.

One final usability improvement related to this is the following:

By default, when podman  gets a --gidmap argument but not a --uidmap argument, it copies the mapping.
This is convenient in many scenarios, since usually subordinated uids and gids are assigned in chunks
simultaneously, and the subordinated IDs in /etc/subuid and /etc/subgid for a given user match.

For scenarios with additional subordinated GIDs, this map copying is annoying, since it forces the user
to provide a --uidmap, to prevent the copy from being made. This means, that when the user wants:

    --gidmap 0:0:5 --gidmap 5:6:15000 --gidmap 20000:5:1

The user has to include a uidmap as well:

    --gidmap 0:0:5 --gidmap 5:6:15000 --gidmap 20000:5:1 --uidmap 0:0:65000

making everything even harder to understand without proper context.

For this reason, besides the "+" flag, we introduce the "u" and "g" flags. Those flags applied to a
mapping tell podman that the mapping should only apply to users or groups, and ignored otherwise.

Therefore we can use:

   --gidmap "+g20000:@2000:1"

So the mapping only applies to groups and is ignored for uidmaps. If no "u" nor "g" flag is assigned
podman assumes the mapping applies to both users and groups as before, so we preserve backwards compatibility.

Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
Signed-off-by: Sergio Oller <sergioller@gmail.com>
2023-08-28 20:21:04 +02:00
Sergio Oller
18c2a2be87 [DOC] Clarify default behaviour on uidmap
Specify that by default if only one of uidmap or gidmap is given, the other one is copied

Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
Signed-off-by: Sergio Oller <sergioller@gmail.com>
2023-08-28 20:21:04 +02:00
OpenShift Merge Robot
dd2ec7c613 Merge pull request #19640 from flouthoc/force-compression
push/manifest-push: add support for `--force-compression` to prevent reusing other blobs
2023-08-28 16:49:31 +02:00
Aditya R
0938ee1899 push, manifest-push: --force-compression must be true with --compression-format
Value of `--force-compression` should be already `true` is
`--compression-format` is selected otherwise let users decide.

Signed-off-by: Aditya R <arajan@redhat.com>
2023-08-28 16:41:13 +05:30
Ashley Cui
da81bc13a1 Add rootful status to machine inspect
Podman machine inspect now shows if the machine is rootful

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-08-25 11:27:08 -04:00
Urvashi Mohnani
52ed7fce2a Add infra-name annotations to kube gen/play
Add io.podman.annotations.infra.name annotation to kube play so
users can set the name of the infra container created.
When a pod is created with --infra-name set, the generated
kube yaml will have an infraName annotation set that will
be used when playing the generated yaml with podman.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2023-08-24 11:29:56 -04:00
Aditya R
82bd56be74 manifest-push: add support for --force-compression
Adds support for --force-compression which allows end-users to force
push blobs with the selected compresison in --compression option, in
order to make sure that blobs of other compression on registry are not
reused.

Signed-off-by: Aditya R <arajan@redhat.com>
2023-08-24 13:36:04 +05:30
Aditya R
469ace0910 push: add support for --force-compression
Adds support for --force-compression which allows end-users to force
push blobs with the selected compresison in --compression option, in
order to make sure that blobs of other compression on registry are not
reused.

Is equivalent to: force-compression here: https://docs.docker.com/build/exporters/#compression

Closes: https://github.com/containers/podman/issues/18660

Signed-off-by: Aditya R <arajan@redhat.com>
2023-08-24 13:35:58 +05:30
Valentin Rothberg
75ce47347c [CI:DOCS] update auto-update docs
Rewrite the auto-update man page.  It was quite dusty and out-dated as
it was not mentioning Quadlet at all.  At times it was too verbose about
internal implementation details that users shouldn't need to worry
about.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-08-22 16:19:06 +02:00