1245 Commits

Author SHA1 Message Date
c5abac27b5 Merge pull request #15420 from sstosh/fix-trouble
[CI:DOCS] Update Troubleshooting.md
2022-08-23 09:24:14 -04:00
5f719b533e podman kube play/down --read from URL
`podman kube play` can create pods and containers from YAML
read from a URL poiniting to a YAML file.
For example: `podman kube play https://example.com/demo.yml`.
`podman kube down` can also teardown pods and containers created
from that YAML file by also reading YAML from a URL, provided the
YAML file the URL points to has not been changed or altered since
it was used to create pods and containers

Closes #14955
Signed-off-by: Niall Crowe <nicrowe@redhat.com>
2022-08-23 12:55:53 +01:00
5b06b2e77b Document restrictions on transport in FROM
When using remote podman client, not all transports work as expected. So
document this limitation.

Fixes: containers/podman#15141
Signed-off-by: Tomas Volf <tomas.volf@showmax.com>
2022-08-23 13:50:36 +02:00
64339d47c1 Warning messages are printed and ignored if we use an unsupported option
When an unsupported limit on cgroups V1 rootless systems
is requested, podman prints an warning message and
ignores the option/flag.

```
  Target options/flags:
    --cpu-period, --cpu-quota, --cpu-rt-period, --cpu-rt-runtime,
    --cpus, --cpu-shares, --cpuset-cpus, --cpuset-mems, --memory,
    --memory-reservation, --memory-swap, --memory-swappiness,
    --blkio-weight, --device-read-bps, --device-write-bps,
    --device-read-iops, --device-write-iops, --blkio-weight-device
```

Related to https://github.com/containers/podman/discussions/10152

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-23 11:54:31 +09:00
74388fe75f Man pages: refactor common options: --pod-id-file
Much like --cidfile (#15414), --pod-id-file has two meanings.
One is used in pod-related commands, one in container ones.
Both meanings read the file, so the read/write split used
in --cidfile is not applicable here.

podman-pod-create keeps its --pod-id-file option because
that one cannot be refactored: that's the only command (now)
that writes a pod-id file.

Reviewable using hack/markdown-preprocess-review but I
did take some liberties with the #### args because they
were wrong. And, since I had to much with the description
text anyway (resulting in diffs), I also took the liberty
of cleaning up a double space.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-22 18:37:38 -06:00
d97f4dfbcc Merge pull request #15414 from edsantiago/docs_dedup_cidfile
Man pages: refactor common options: --cidfile
2022-08-22 20:31:09 -04:00
0f768cef3b [CI:DOCS] Update Troubleshooting.md
- Fix the item number
- Fix the links

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-23 08:47:02 +09:00
51d4b88ce9 Merge pull request #15392 from ashley-cui/quiet
Add quiet/q flag to podman secret ls
2022-08-22 15:46:47 -04:00
c6488fe4af Man pages: fix sloppiness
I've been doing the man-page cleanup distractedly, while
fighting other fires, and submitted some crap:

 * #15339: I used single angle brackets, not double

 * #15407: I only refactored --cert-dir from some man pages, not all

Easy to review with hack/markdown-preprocess-review, because all the
removed texts are identical. The only diff is that container-certs.d
is now a link.

Sorry about that. I'm going to spend more time being careful.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-22 12:38:02 -06:00
46f31361f8 Man pages: refactor common options: --cidfile
There are two meanings: one writes a cidfile, the other reads.
Split into two .md files.

This can be reviewed with hack/markdown-preprocess-review .
The main differences you'll see are all in cidfile.read:

  1) I use the <<subcommand>> feature. This works nicely for
     kill, pause/unpause, and stop. It works less nicely for
     rm, because the man page will show "...and rm the container"
     (a human might prefer to see "REMOVE the container"). Given
     the benefit of this cleanup, I think this is a fine tradeoff.

  2) I choose to include the "multiple times" text even on man pages
     where it wasn't present before. I tested to make sure it works.

  3) The #### line I choose is IMHO the best one.

Minor differences:

  * I believe the "remove the container" text in podman-kill
    and podman-stop is a copy/paste error. This PR fixes it.

  * The only differences between the cidfile.write texts is
    the #### line (my version is best) and a final period.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-22 12:17:20 -06:00
aefd0aed39 Merge pull request #15412 from edsantiago/docs_dedup_creds
Man pages: refactor common options: --creds
2022-08-22 14:16:44 -04:00
e9fe85d53a Merge pull request #15363 from rhatdan/secret
podman secret create -d alias --driver, inspect -f alias --format: Docker compatibity
2022-08-22 13:36:05 -04:00
509407cac8 Merge pull request #15403 from sstosh/cgroups-cpuset
[CI:DOCS] Update how to enable resource limit delegation
2022-08-22 13:27:43 -04:00
898d37cebe Merge pull request #15409 from vrothberg/fix-15300
[CI:DOCS] elaborate on image lookups of foreign platforms
2022-08-22 13:24:59 -04:00
bd90818b02 Man pages: refactor common options: --creds
Refactor the --creds option. I went with the one in podman-pull

The main difference between all of them is the '####' line,
differences in the param descriptions. podman-pull had the
clearest one.

This is another one that hack/markdown-preprocess-review is
good for reviewing.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-22 09:39:37 -06:00
fbe2bd87b0 [CI:DOCS] elaborate on image lookups of foreign platforms
After pulling/creating an image of a foreign platform, Podman will
happily use it when looking it up in the local storage and will not
pull down the image matching the host platform.

As discussed in #12682, the reasoning for it is Docker compatibility and
the fact that user already rely on the behavior.  While Podman is now
emitting a warning when an image is in use not matching the local
platform, the documentation was lacking that information.

Fixes: #15300
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-08-22 16:38:20 +02:00
eee0ec97e8 Add quiet/q flag to podman secret ls
Add quiet/q flag to podman secret ls, which will print only the secret
ID.

Signed-off-by: Ashley Cui <acui@redhat.com>
2022-08-22 09:13:00 -04:00
f8e73eadd2 [CI:DOCS] Update how to enable resource limit delegation
Add a information about `cpu-shares` option and `CPUSET` limits.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-22 21:07:42 +09:00
a0560eefaa Man pages: refactor common options: cert-dir
...and, tweak markdown-process-review so it can detect and
remove identical files, making review easier.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-22 05:52:20 -06:00
f50970ab6c Merge pull request #15342 from edsantiago/docs_dedup_authfile
Man pages: refactor common options: authfile
2022-08-22 08:46:35 +00:00
2d245e595a Merge pull request #15305 from dilyanpalauzov/reword_exit_policy
Reword --exit-policy option
2022-08-18 13:14:01 -04:00
f63da351f2 Merge pull request #15364 from rhatdan/stats
Add podman stats --no-trunc option
2022-08-17 21:46:21 +00:00
0dd2fcf715 Add podman manifest create -a. Alias for --amend:Docker compatibility
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-17 15:02:53 -04:00
546bb3548c Add podman stats --no-trunc option
This is for compatibility with Docker.

Partial fix for https://github.com/containers/podman/issues/14917

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-17 13:16:01 -04:00
f6e7b0b59d Add podman secret inspect -f alias for --format: Docker compatibility
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-17 12:49:30 -04:00
d50ff4f512 Add podman secret create -d as alias for --driver for Docker compatibility
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-17 12:44:42 -04:00
c90eec2700 Merge pull request #14999 from sstosh/restart-option
Add restart --cidfile, --filter
2022-08-17 09:41:54 +00:00
7e7a79b075 podman manifest create: accept --amend and --insecure flags
Accept a --amend flag in `podman manifest create`, and treat
`--insecure` as we would `--tls-verify=false` in `podman manifest`'s
"add", "create", and "push" subcommands.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2022-08-16 19:45:36 -04:00
f0e8640755 Man pages: refactor common options: authfile
Refactor the --authfile option.

My suggestion for review:
  1) run hack/markdown-preprocess-review and immediately Ctrl-Q to
     quit out of diffuse, which is completely unusable for this
     many files; then
  2) cd /tmp/markdown-preprocess-review.diffs/authfile
     - this is the directory created by the review script
  3) rm podman-image-sign* podman-log* podman-search.1.md.in
     - because they're essentially identical to podman-create
  4) rm podman-manifest-* podman-push.*
     - because they're 100% identical to podman-kube-play
  5) rm podman-kube-play*
     - because it's apart-from-whitespace identical to podman-build
       (use "wdiff" to confirm)
  6) rm podman-auto-update*
     - because that's the one I chose (hence == zzz-chosen.md)

(You should obviously run your own diff/cmp before rm, to confirm
my assertions about which files are identical).

After all that, you have a manageable number of files which
you can scan, read, diff against zzz-chosen.md, even run diffuse.

This option is IMHO the poster child for why we need this kind
of man page refactoring.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-16 09:13:38 -06:00
552225c414 Merge pull request #15339 from edsantiago/docs_dedup_annotation
Man pages: refactor common options: --annotation
2022-08-16 13:54:03 +00:00
a78b67a47b Man pages: refactor common options: --annotation
Refactor the --annotation option, but only between podman create,
kube play, and run.

This does not include:

 * podman build:
   - usage is in terms of images, not containers/pods

 * manifest add, manifest annotate:
   - usage is in terms of images, not containers/pods
   - also, wording is slightly different

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-16 07:04:48 -06:00
d0567dd078 Merge pull request #15270 from nicrowe00/kubegenerate
Add "podman kube generate" command
2022-08-16 13:04:41 +00:00
311b5946f7 Merge pull request #15331 from edsantiago/docs_dedup_piecemeal
Man pages: refactor common options: arch
2022-08-16 13:01:59 +00:00
22f3dd4c29 Man pages: refactor common options: arch
Smaller, more reviewable chunks.

This is just one option, --arch. Future PRs may, if the reviewing
is easy, include multiple options. This one includes fixes to
the preprocessor script, though:

 * big oops, I was not handling '<<something pod|something>>'
   where 'pod' appears other than the beginning of the string.
 * I was also not handling 'container<<| or pod>>', where one
   side was empty.
 * Behavior change: <<subcommand>>, on podman-pod-foo,
   becomes just 'foo' (not 'pod foo'). This will be useful
   in a future PR where we refactor --pod-id-file.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-15 12:31:30 -06:00
f14bf91c49 podman images and friends can take one image as argument
Fixes: https://github.com/containers/podman/issues/15309

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-15 13:34:42 -04:00
056917c223 Reword --exit-policy option
Insisting on “DCO” imposes formalities, that serve self-purpose.  One cannot
assume that the submitter has time or will to read texts about symbolism in
software contributions.  If the system wants to see the text

  nrEAUIEUAIe eanuitdnuae EAIUEAUIAIE »ℓ§444.3.72b)°»°ℓ§euaieauuae

in each commit, people will write this, or any other text, that the system wants to
see.  All such text, which presence is mandated by the system, has the same value.

Signed-off-by: Дилян Палаузов <git-dpa@aegee.org>
2022-08-14 10:09:38 +03:00
0dbbb1cb3f Add restart --cidfile, --filter
--cidfile : Read container ID from the specified file and restart the container.
--filter : restart the filtered container.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-08-12 09:22:53 +09:00
d856fb43e1 Add "podman kube generate" command
"podman kube generate" creates Kubernetes YAML from Podman containers,
pods or volumes. Users will still be able to use "podman generate
kube" as an alias of "kube generate".

Signed-off-by: Niall Crowe <nicrowe@redhat.com>
2022-08-11 16:58:24 +01:00
e2a3f9592b docs: specify git protocol is not supported for github hosted repo
Build from URL does not supports `git://` is source is hosted on Github.
Reason: https://github.blog/2021-09-01-improving-git-protocol-security-github/

[CI:DOCS]
[NO NEW TESTS NEEDED]
[NO TESTS NEEDED]

Similar to: https://github.com/containers/buildah/pull/4179

Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-11 21:26:13 +05:30
245be9b394 Document behavior of --timestamp when only FROM is used
Fixes: #15171

Signed-off-by: Tomas Volf <tomas.volf@showmax.com>
2022-08-10 15:53:51 +02:00
aa13c73f71 Merge pull request #14926 from cdoern/generateSpec
podman generate spec
2022-08-10 10:23:18 +00:00
c4a35313c9 Merge pull request #15260 from edsantiago/docs_dedup_continued
Man pages: refactor common options
2022-08-10 10:20:45 +00:00
84502fc144 Merge pull request #15094 from cdoern/ssh
podman ssh work, using new c/common interface
2022-08-10 08:57:58 +00:00
2bcee9f627 Man pages: refactor common options
Continued. Harder-to-review ones this time.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-09 16:18:53 -06:00
6d887bdc01 Merge pull request #15250 from edsantiago/docs_dedup_phase2
Refactor common man page options, phase 2
2022-08-09 19:28:42 +00:00
280f5d8cb0 podman ssh work, using new c/common interface
implement new ssh interface into podman

this completely redesigns the entire functionality of podman image scp,
podman system connection add, and podman --remote. All references to golang.org/x/crypto/ssh
have been moved to common as have native ssh/scp execs and the new usage of the sftp package.

this PR adds a global flag, --ssh to podman which has two valid inputs `golang` and `native` where golang is the default.
Users should not notice any difference in their everyday workflows if they continue using the golang option. UNLESS they have been using an improperly verified ssh key, this will now fail. This is because podman was incorrectly using the
ssh callback method to IGNORE the ssh known hosts file which is very insecure and golang tells you not yo use this in production.

The native paths allows for immense flexibility, with a new containers.conf field `SSH_CONFIG` that specifies a specific ssh config file to be used in all operations. Else the users ~/.ssh/config file will be used.
podman --remote currently only uses the golang path, given its deep interconnection with dialing multiple clients and urls.

My goal after this PR is to go back and abstract the idea of podman --remote from golang's dialed clients, as it should not be so intrinsically connected. Overall, this is a v1 of a long process of offering native ssh, and one that covers some good ground with podman system connection add and podman image scp.

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-08-09 14:00:58 -04:00
d7f134d687 Refactor common man page options, phase 2
Followup to #15174. These are the options that are easy(ish)
to review: those that have only drifted slightly, and need
only minor tweaks to bring back to sanity. For the most part,
I went with the text in podman-run because that was cleaned up
in #5192 way back in 2020. These diffs primarily consist of
using '**' (star star) instead of backticks, plus other
formatting and punctuation changes.

This PR also adds a README in the options dir, and a new
convention: <<container text...|pod text...>> which tries
to do the right thing based on whether the man page name
includes "-pod-" or not. Since that's kind of hairy code,
I've also added a test suite for it.

Finally, since this is impossible to review by normal means,
I'm temporarily committing hack/markdown-preprocess-review,
a script that will diff option-by-option. I will remove it
once we finish this cleanup, but be advised that there are
still 130+ options left to examine, and some of those are
going to be really hard to reunite.

Review script usage: simply run it (you need to have 'diffuse'
installed). It isn't exactly obvious, but it shouldn't take more
than a minute to figure out. The rightmost column (zzz-chosen.md)
is the "winner", the actual content that will be used henceforth.
You really want an ultrawide screen here.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-09 06:33:17 -06:00
59cb410fe2 build: implement --cache-to,--cache-from and --cache-ttl
[NO NEW TESTS NEEDED]
[NO TESTS NEEDED]

Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-09 09:10:58 +05:30
cc8e4d5fec remove image podman no prune
Signed-off-by: Karthik Elango <kelango@redhat.com>
2022-08-04 14:55:03 -04:00
842c6c7c67 podman generate spec
implement a new command `podman generate spec` which can formulate a json specgen to be consumed by both the pod
and container creation API.

supported flags are

--verbose (default true) print output to the terminal
--compact print the json output in a single line format to be piped to the API
--filename put the output in a file
--clone rename the pod/ctr in the spec so it won't conflict w/ an existing entity

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-08-04 13:59:58 -04:00