1245 Commits

Author SHA1 Message Date
e67e602265 podman info: hide --debug
It's a NOP since Podman v2.0 (#5738).

[NO NEW TESTS NEEDED] - does not change behavior.

Fixes: #15185
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-04 13:39:15 +02:00
549974d97e Merge pull request #15174 from edsantiago/docs_dedup_phase1
[CI:DOCS] Refactor common options in man pages
2022-08-03 20:29:02 +00:00
5fc7339aa1 Merge pull request #15084 from sstosh/rm-filter
Add rm --filter option
2022-08-03 17:23:07 +00:00
56039cffd7 Refactor common options in man pages
podman-create and -run have many options in common. To date,
these are copy-pasted and haphazardly maintained.

Solution: add an include mechanism, '@@option foo', such
that multiple md source files can fetch from one common file.

This is a Phase One commit, a very small subset of what's
possible. Purpose of this commit is ease of review. If this
passes review, much more (trickier stuff) will be forthcoming.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-03 06:53:33 -06:00
1249cbb75f add "podman kube down" command
The "podman kube down" reads in a structured file of
Kubernetes YAML and removes pods based on the Kubernetes kind described in the YAML,
similiar to "podman play kube --down". Users will still be able to use
"podman play kube --down" and "podman kube play --down" to
perform the same function.

Signed-off-by: Niall Crowe <nicrowe@redhat.com>
2022-08-02 16:27:01 +01:00
034de2948a Merge pull request #15127 from Zocker1999NET/patch-1
[CI:DOCS] man podman-volume-import: Clarify that merge happens
2022-08-01 15:21:04 +02:00
82137dc64e Merge pull request #15108 from mtrmac/sigstore-sign
Sigstore sign
2022-08-01 13:35:43 +02:00
6c69a2ea11 podman-volume-import: Reword "precendence"
Signed-off-by: Felix Stupp <me+github@banananet.work>
2022-07-31 20:34:14 +00:00
c21306f061 man podman-volume-import: Clarify that merge happens
Current directories and files stay the same with the current implementation as long as the tarball does not contain a directories or files with the same name.

Signed-off-by: Felix Stupp <me+github@banananet.work>
2022-07-30 19:02:14 +00:00
d462da676c Add support for creating sigstore signatures, and providing passphrases
- Allow creating sigstore signatures via --sign-by-sigstore-private-key .
  Like existing --sign-by, it does not work remote (in this case
  because we would have to copy the private key to the server).
- Allow passing a passphrase (which is mandatory for sigstore private keys)
  via --sign-passphrase-file; if it is not provided, prompt interactively.
- Also, use that passphrase for --sign-by as well, allowing non-interactive
  GPG use. (But --sign-passphrase-file can only be used with _one of_
  --sign-by and --sign-by-sigstore-private-key.)

Note that unlike the existing code, (podman build) does not yet
implement sigstore (I'm not sure why it needs to, it seems not to
push images?) because Buildah does not expose the feature yet.

Also, (podman image sign) was not extended to support sigstore.

The test for this follows existing (podman image sign) tests
and doesn't work rootless; that could be improved by exposing
a registries.d override option.

The test for push is getting large; I didn't want to
start yet another registry container, but that would be an
alternative.  In the future, Ginkgo's Ordered/BeforeAll
would allow starting a registry once and using it for two
tests.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2022-07-30 17:26:08 +02:00
24a599fe1d Add flag "--compression-format" to "podman manifest push" both in local/remote mode.
Also Fix usage of flag "--compression-format" for remote "podman image push". Fix usage of flags "--format", "--remove-signatures" in remote "podman manifest push".
Closes #15109.

Signed-off-by: Romain Geissler <romain.geissler@amadeus.com>
2022-07-30 15:10:41 +00:00
53ec479685 Add rm --filter option
--filter : remove the filtered container.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-07-30 10:59:59 +09:00
de04d9d757 docs: resolve typo in create,run manpages
* Replace typo 'personaity' with 'personality' in several man pages

Signed-off-by: Ewout van Mansom <ewout@vanmansom.name>
2022-07-28 13:34:19 +02:00
242639f4b1 Merge pull request #15043 from eriksjolund/fix_sdnotify_option_docs
[CI:DOCS] podman-generate-systemd.1.md: document --sdnotify
2022-07-26 17:12:39 +02:00
1b099eec8e [CI:DOCS] podman-generate-systemd.1.md: document --sdnotify
* Document why the default value for --sdnotify is overridden.
  Some was included text from
  https://github.com/containers/podman/issues/15029#issuecomment-1192244755

* Document that --sdnotify=ignore is overridden.

Fixes #15029

Co-authored-by: Valentin Rothberg <vrothberg@redhat.com>
Co-authored-by: Tom Sweeney <tsweeney@redhat.com>
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-07-26 07:16:09 +02:00
27679d80b8 pod create --share none should not create infra
for podman pod create, when we are not sharing any namespaces there is no point for the infra container.
This is especially true since resources have also been decoupled from the container recently.

handle this on the cmd level so that we can still create infra if set explicitly

resolves #15048

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-07-25 13:11:06 -04:00
94e97df47b Merge pull request #15039 from Luap99/cni-doc
[CI:DOCS] docs: remove CNI word where it is not applicable
2022-07-22 19:30:25 +02:00
9b4df69830 Merge pull request #14967 from sstosh/pause-option
Add pause/unpause --latest, --cidfile, --filter
2022-07-22 18:12:50 +02:00
8cd4ecad2e Merge pull request #14957 from edsantiago/dont_remake_remote
Makefile: use order-only prereq for podman-remote
2022-07-22 18:10:17 +02:00
cbdda4e56e docs: remove CNI word where it is not applicable
Most network commands/features work with both netavark and CNI. When
we added added netavark most docs were not vetted and thus still use CNI
network, it should just say network.

Fixes #14990

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-07-22 13:46:28 +02:00
c00ea686fe resource limits for pods
added the following flags and handling for podman pod create

--memory-swap
--cpuset-mems
--device-read-bps
--device-write-bps
--blkio-weight
--blkio-weight-device
--cpu-shares

given the new backend for systemd in c/common, all of these can now be exposed to pod create.
most of the heavy lifting (nearly all) is done within c/common. However, some rewiring needed to be done here
as well!

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-07-21 14:50:01 -04:00
dd74ef4f58 Merge pull request #14958 from cdoern/network
[CI:DOCS] document isolate option for network create
2022-07-20 19:43:19 +02:00
da33f10055 Update init ctr default for play kube
Update the init container type default to once instead
of always to match k8s behavior.
Add a new annotation that can be used to change the init
ctr type in the kube yaml.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2022-07-20 10:02:32 -04:00
9b152ef20e Add pause/unpause --latest, --cidfile, --filter
--latest : pause/unpause the latest container.
--filter : pause/unpause the filtered container.
--cidfile : Read container ID from the specified file and pause/unpause the container.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-07-20 19:30:11 +09:00
10d6586cb7 Makefile: use order-only prereq for podman-remote
podman-remote has a dependency on $(SRCBINDIR), because on
Mac and Windows that's a special dir that may not exist.
But depending on a directory means depending on its mtime,
which changes every time a file in it is updated, which
means running 'make' twice in a row will rebuild podman-remote
for no good reason.

Solution: GNU Make has the concept of "order-only" prerequisites,
precisely for this situation. Use it. Since it's an obscure
feature, document it.

UPDATE: This exposed some nasty duplication wrt podman-remote rules.
Clean those up, and add comments to some confusing sections.

Fixes: #14756

(Also, drive-by edit to remove a stray misdocumented non-option)

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-07-19 10:33:53 -06:00
0a2ddc9bd6 [CI:DOCS] Fix typo in manifest manpage
rme -> rm

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-07-19 17:22:52 +09:00
5763217296 document isolate option for network create
[CI:DOCS]

document the podman network create -o=isolate which allows networks to cut themselves off
from external connections.

resolves #5805

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-07-18 11:32:13 -04:00
98b22e29c9 Merge pull request #14932 from jakecorrenti/pull-all-tags-shorthand
Podman pull --all-tags shorthand option
2022-07-15 15:12:58 +00:00
a2f6cc74e7 Podman stop --filter flag
Filter flag is added for podman stop and podman --remote stop. Filtering logic is implemented in
getContainersAndInputByContext(). Start filtering can be manipulated to use this logic as well to limit redundancy.

Signed-off-by: Karthik Elango <kelango@redhat.com>
2022-07-14 13:18:53 -04:00
90607a6d04 Podman pull --all-tags shorthand option
I added the shorthand option for `podman pull --all-tags`. Like Docker,
Podman can now do `podman pull -a`.

Signed-off-by: Jake Correnti <jcorrenti13@gmail.com>
2022-07-14 10:54:24 -04:00
ad7c54e13a man page checker: enforce stricter options format
Followup to #14906, in which a nonexistent option was found
in a man page. The xref script was designed to catch that,
but I was too lax in my parsing: the option was documented
using wrong syntax, and the script didn't catch it.

Solution: do not allow *any* unrecognized cruft in the
option description lines. And fix all improperly-written
entries to conform to the rule:

    **--option**=*value(s)*

Two asterisks around option, which must have two dashes. One
asterisk around value(s).

This is going to cause headaches for some people adding new
options, but I don't think I can fix that: there are many
factors that make an unparseable line. Adding 'hint' code
would make the script even more complex than it is. I have
to assume that our contributors are smart enough to look
at surrounding context and figure out the right way to
specify options.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-07-14 06:35:51 -06:00
d4dc067117 Merge pull request #14923 from rhatdan/events
Add podman events -f to be alias for --filter
2022-07-14 12:01:40 +00:00
5c3eec5589 Merge pull request #14772 from nicrowe00/12475
Add "podman kube play" cmd
2022-07-13 19:29:16 +00:00
cc2cfe0602 Add podman events -f to be alias for --filter
Needed for Docker compatibility.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-07-13 10:55:27 -04:00
5f8d08d593 Merge pull request #14915 from eriksjolund/rename_c_to_cpu_shares
[CI:DOCS] man pages: replace -c with --cpu-shares
2022-07-13 14:54:57 +00:00
e08a77ce64 Add "podman kube play" cmd
The "podman kube play" command is designed to be a replacement for the
"podman play kube" command.
It performs the same function as "play kube"  while also still working with the same flags and options.
The "podman play kube" command is still functional as an alias of "kube play".

Closes #12475
Signed-off-by: Niall Crowe <nicrowe@redhat.com>
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-07-13 15:27:03 +01:00
1392922d4a [CI:DOCS] man pages: replace -c with --cpu-shares
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-07-13 16:06:42 +02:00
c9a82d72a7 Docker uses "-c" to mean "--cpu-shares" in create and run
Add support for -c as an alias for --cpu-shares to be compatible with
Docker.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-07-12 14:53:17 -04:00
e83ff8e5e6 [CI:DOCS] podman-create.md: replace -c with --cpu-shares
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-07-12 19:41:20 +02:00
f6ed7a8c94 [CI:DOCS] man pages: remove non-existent option builtin-volume
Closes #14906

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-07-12 16:28:31 +02:00
377057b400 [CI:DOCS] Improve language. Fix spelling and typos.
* Correct spelling and typos.

* Improve language.

Co-authored-by: Ed Santiago <santiago@redhat.com>
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-07-11 21:59:32 +02:00
87793b6339 [CI:DOCS] Rewrite the --gidmap option docs
* Reference --uidmap in --gidmap docs for additional information

* Remove --gidmap example "groupname -> 100000 / 30000 -> 0"

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-07-11 13:19:51 +02:00
25d74db455 [CI:DOCS] podman-info.1.md: Update examples
* Add example "Extracting the list of container registries with a Go template".
  (The example was already present but in a much shorter form)

* Add example "Extracting the list of container registries from JSON with jq".

* Add shell completion instructions

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-07-11 10:42:48 +02:00
6b9abe69db improve pull-policy documentation
Make sure that the docs for pull policies is consistent with Buildah and
reflects the implementation.

Further improve the help messages and auto completions.

[NO NEW TESTS NEEDED]

Fixes: #14846
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-07-08 17:11:08 +02:00
d481fbe759 Merge pull request #14803 from bugfood/volumes
make 9p security model configurable; document
2022-07-07 18:21:55 +00:00
dd0418a5fe Merge pull request #14762 from ashley-cui/machinfo
Podman machine info
2022-07-07 15:17:40 +00:00
03ee8204d3 podman machine: make 9p security model configurable; adjust docs
This addresses:
Symlinks don't work on podman machine on macOS Monterey when using volumes feature #13784

This change does NOT exactly fix the bug, but it does allow the user to
work around it via 'podman init' option, e.g.:
podman machine init -v "$HOME/git:$HOME/git:ro:security_model=none"

If the default security model were to be changed to 'none', then that
would fix the bug, at the possible cost of breaking any use cases that
depend on 'mapped-xattr'.

The documentation of the purpose and behavior of the different security
models seems to be rather light:
https://wiki.qemu.org/Documentation/9psetup#Starting_the_Guest_directly

From testing, it appears that the mapped-xattr security model intends to
manage symlinks such that the guest can see the symlinks but the host
only sees regular files (with extended attributes). As far as I can
tell, this behavior only makes sense when the guest is the only thing
that ever needs to create and read symlinks. Otherwise, symlinks created
on the host are unusable on the guest, and vice versa.

As per the original commit: 8e7eeaa4dd14621bda15e396fcd7b9187bc500c5
[NO NEW TESTS NEEDED]

Also document existing ro and rw options.

Also remove misleading statement about /mnt. By my observation, this
line is incorrect. If the intended meaning is different, then I don't
understand.

The default volume is mounted read/write and is not within /mnt.

[core@localhost ~]$ mount | grep 9p
vol0 on /Users/chickey type 9p (rw,relatime,sync,dirsync,access=client,trans=virtio)

Signed-off-by: Corey Hickey <chickey@tagged.com>
2022-07-06 16:07:56 -07:00
9d6efb3442 Podman machine info
Add podman machine info command, which displays infor about the machine
host as well as version info.

Signed-off-by: Ashley Cui <acui@redhat.com>
2022-07-05 15:18:41 -04:00
8f2d9e7a7c podman pod create --uts support
add support for the --uts flag in pod create, allowing users to avoid
issues with default values in containers.conf.

uts follows the same format as other namespace flags:
--uts=private (default), --uts=host, --uts=ns:PATH

resolves #13714

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-07-05 09:28:07 -04:00
a406b950e4 Merge pull request #14807 from eriksjolund/fix_read_only_spelling
[CI:DOCS] Fix spelling "read only" -> "read-only"
2022-07-04 07:35:42 +00:00