Commit Graph

1518 Commits

Author SHA1 Message Date
Matthew Heon fc6dcd12b3 Add support for 'image' volume driver
We added the concept of image volumes in 2.2.0, to support
inspecting an image from within a container. However, this is a
strictly read-only mount, with no modification allowed.

By contrast, the new `image` volume driver creates a c/storage
container as its underlying storage, so we have a read/write
layer. This, in and of itself, is not especially interesting, but
what it will enable in the future is. If we add a new command to
allow these image volumes to be committed, we can now distribute
volumes - and changes to them - via a standard OCI image registry
(which is rather new and quite exciting).

Future work in this area:
- Add support for `podman volume push` (commit volume changes and
  push resulting image to OCI registry).
- Add support for `podman volume pull` (currently, we require
  that the image a volume is created from be already pulled; it
  would be simpler if we had a dedicated command that did the
  pull and made a volume from it)
- Add support for scratch images (make an empty image on demand
  to use as the base of the volume)
- Add UOR support to `podman volume push` and
  `podman volume pull` to enable both with non-image volume
  drivers

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2022-09-22 13:07:40 -04:00
OpenShift Merge Robot a4399ef813
Merge pull request #15837 from rhatdan/format
Improve generate systemd format
2022-09-21 15:08:36 +02:00
OpenShift Merge Robot ffa73c58a5
Merge pull request #15842 from ashley-cui/seclabels
Add labels to secrets
2022-09-21 13:15:28 +02:00
Daniel J Walsh fb3d55006f
Improve generate systemd format
Fixes: https://github.com/containers/podman/issues/14897

Followup to #13814

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-09-21 05:10:55 -04:00
Ashley Cui 9bb51e8e96 Add labels to secrets
Add --label/-l label flag to secret create, and show labels when
inspecting secrets. Also allow labeling secrets via libpod/compat API.

Signed-off-by: Ashley Cui <acui@redhat.com>
2022-09-20 16:28:00 -04:00
OpenShift Merge Robot 30231d0da7
Merge pull request #15859 from edsantiago/docs_format_events
[CI:DOCS] man pages: document some --format options
2022-09-19 20:03:27 +02:00
OpenShift Merge Robot 5f5d40084c
Merge pull request #15072 from rhatdan/context
Add support for podman context as alias to podman system connection
2022-09-19 17:35:43 +02:00
Ed Santiago 6790deb1b1 man pages: document some --format options
Baby steps toward merging #14046: document Go format options
for podman events.

This is deliberately imperfect. I am not the right person
to document these. I am simply the person who is getting
a skeleton framework in place.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-19 08:34:38 -06:00
OpenShift Merge Robot a9a1345cb0
Merge pull request #15823 from rhatdan/dns-opt
Default to --dns-option to match Docker and Buildah
2022-09-16 17:24:34 +02:00
OpenShift Merge Robot 924079f8a1
Merge pull request #15755 from edsantiago/docs_for_formats
[CI:DOCS] man pages: document some --format options
2022-09-16 16:20:40 +02:00
Daniel J Walsh 21841dc381
Default to --dns-option to match Docker and Buildah
[NO NEW TESTS NEEDED] Existing tests cover this.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-09-16 06:14:35 -04:00
OpenShift Merge Robot 373267d103
Merge pull request #15817 from edsantiago/docs_dedup_dns
[CI:DOCS] Man pages: Refactor common options: --dns
2022-09-16 11:33:44 +02:00
Ed Santiago e2573b734e Fix broken titles on readthedocs
Followup to #15621, which (correctly) removed parentheses from
md files. Turns out, a hidden part of our readthedocs process
depended on those parentheses. Update that step so it handles
the new, correct, <space><section-number> format.

Also update local-testing documentation in README, and clean it
up a little.

Fixes: #15822

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-15 14:35:06 -06:00
Ed Santiago 62d1c487d9 Man pages: Refactor common options: --dns
Only between podman-build, create, and run. podman-pod-create
is too different.

As usual I went with the podman-run version. This means
keeping the word "flag" (which should be "option"), for
ease of review. I will fix in my in-progress cleanup PR.

For podman-build, I removed "during the build" and changed
it to a note for that man page only.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-15 10:12:34 -06:00
Ed Santiago 7d1f688ff9 [CI:DOCS] man pages: document some --format options
Baby steps toward merging #14046: document a few of the Go format
command-line options.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-15 09:59:32 -06:00
Daniel J Walsh 3508bd22fe
Add support for podman context as alias to podman system connection
Alias
podman --context -> podman --connection
podman context use -> podman system connection default
podman context rm -> podman system connection rm
podman context create -> podman system connection add
podman context ls ->podman system connection ls
podman context inspect ->podman system connection ls --json (For
specified connections)

Podman context is a hidden command, but can be used for existing scripts
that assume Docker under the covers.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-09-15 08:17:15 -04:00
Ed Santiago 9ba034293d Man pages: refactor common options: 2 stats opts
--no-reset and --no-stream, in podman-stats and pod-stats.

Very minor tweak to --no-stream to account for pods.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-15 05:17:25 -06:00
Ed Santiago 3f8591c2fc Man pages: refactor common options: --shm-size
Mostly went with the podman-run version. For ease of review, I
kept the "you" word -- I will fix that in my in-progress
cleanup PR.

This affects lots of files, each of which had slightly different
wording, but this actually isn't as bad as it looks. The diffs
were minor, and I'm pretty sure the new refactored text applies
equally well to all the man pages.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-14 14:31:32 -06:00
Ed Santiago f76390d5e6 Man pages: refactor common options: --user
In podman-create, exec, and run. Went with the podman-run version.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-14 12:32:30 -06:00
Ed Santiago b6c75a3cc5 Man pages: refactor common options: --preserve-fds, -it
Three simple options shared among podman-create, exec, run.

I mostly went with the podman-run versions. For --tty, this
means that create and exec get the long stdout/stderr note.
(The example, though, remains only in podman-run). For -i,
mostly boldspace changes.

For --preserve-fds, podman-exec now has the "not with remote"
note (which it didn't until now)

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-14 08:15:46 -06:00
OpenShift Merge Robot e1b3d9811a
Merge pull request #15795 from edsantiago/docs_dedup_ip6
[CI:DOCS] Man pages: refactor common options: --ip6
2022-09-14 16:09:51 +02:00
Ed Santiago 4df460836c Man pages: refactor common options: --ip6
Similar to yesterday's --ip. No changes to content, all I did
was variableize the instances of 'container'/'pod'.

Did not touch podman-network-connect file, but if someone
wants to look at that one and tell me whether all this long
text is applicable to it (or not), I'd appreciate it.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-14 05:46:14 -06:00
Paul Holzinger 47fff4b007
improve slirp4netns allow_host_loopback docs
The default ip is 10.0.2.2 but is always the second ip from the
slirp4netns subnet, which can be changed via the cidr option.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2090166

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-09-14 10:55:02 +02:00
Ed Santiago 76eb06330f Man pages: refactor common options: --tls-verify
Ugh. This had about five different variations among twelve files.
I went with the version from podman-create, kube play, login, pull,
push, run. The others:

 - manifest-add and create did not include the "true, false, missing"
   text. Now they do. (If this text is N/A to these two, please yell).
   Also, these two were written with "talking" instead of "contacting"
   the registry.

 - podman-build had "does not work with remote", but this
   does not seem to be true, so I removed it. None of the
   other files had that.

 - the wording in podman-search is just weird, with "if needed"
   and "is listed" and unclear "insecure registries". I just
   nuked it all. If that wording was deliberate, for some reason
   that applies only to podman-search, please yell.

 - podman-container-runlabel has one diff that I like, actually
   spelling out containers-registries.conf(5), but incorporating
   that would make this even harder to review. I will add that
   to my in-progress doc-cleanup PR.

Review recommendation: run hack/markdown-preprocess-review but
just quit out of it immediately (on both popups). Ignore it completely.
Then cd /tmp/markdown-preprocess-review.diffs/tls-verify and run

    $ clear;for i in podman-*;do echo;echo $i;wdiff -t $i zzz-chosen.md;done

This will show the major diffs between each version and the chosen one.
Assumes you have wdiff installed. If you have another colorize-actual-
individual-word-diffs tool installed, use that. I like cdif[1].

 [1] https://github.com/kaz-utashiro/sdif-tools

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-13 11:15:23 -06:00
Ed Santiago d4a0003122 Man pages: Refactor common options: --publish
Almost identical between podman-create, run, and pod-create.
The "Notes" are different, so I left those duplicated between
podman-create and run, and left the different one in pod-create.

podman-container-restore also has --publish but it's unrelated.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-13 09:02:34 -06:00
Ed Santiago dacd594247 Man pages: refactor common options: --publish-all
Only shared between podman-create and run. The latter was
updated in #5192, and that is the text I chose.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-13 07:51:39 -06:00
Ed Santiago 74e0511c96 Man pages: refactor common options: --os (pull)
Only shared by podman-create, -pull, -run. No changes
made other than whitespace, so this should be a gimme.

podman-build, import, and manifest-* also have --os options,
but those are unrelated and I can't find a way to combine
any two of them.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-13 06:35:15 -06:00
Ed Santiago f30d4852ef Man pages: refactor common options: --ip
Between podman-create, run, and pod-create. The big difference
is that I changed 'IP' to 'IPv4' in podman-pod-create, I believe
that was an oversight in #12611.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-13 05:14:25 -06:00
OpenShift Merge Robot c0dd0d696e
Merge pull request #15766 from vrothberg/fix-15284
generate systemd: warn on --restart without --new
2022-09-13 13:00:23 +02:00
Valentin Rothberg 0ea5080c91 generate systemd: warn on --restart without --new
Emit a warning to the user when generating a unit with --new on a
container that was created with a custom --restart policy. As shown
in #15284, a custom --restart policy in that case can lead to issues
on system shutdown where systemd attempts to nuke the unit but Podman
keeps on restarting the container.

Fixes: #15284
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-09-13 10:59:57 +02:00
Ed Santiago 09ba2e0b9e Man pages: refactor common options: --rootfs
podman-create and -run only. The SELinux text was added
to podman-run (but not -create) in #3631, and reformatted
in #5192. I assume here that it also applies to podman-create.

Per feedback from Dan, added :s0 to SELinux context

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-12 17:56:57 -06:00
OpenShift Merge Robot 6e545945a5
Merge pull request #15717 from Luap99/events
fix several podman events issues
2022-09-12 19:55:15 +02:00
OpenShift Merge Robot 8432ed7488
Merge pull request #15751 from edsantiago/docs_dedup_volumes_from
[CI:DOCS] Man pages: refactor common options: --volumes-from
2022-09-12 19:48:49 +02:00
Paul Holzinger 12a1483e7f
Improve --tmpdir and --events-backend docs
List the default paths to the event log file and the tmpdir option.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-09-12 18:05:17 +02:00
Ed Santiago 43da39d317 Man pages: refactor common options: --volumes-from
Removed a spurious right-bracket; went with upper-case for options;
removed 'you's; added some <<container|pod>>s.

Hard to review because none of the existing man pages had it
quite right.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-12 06:59:19 -06:00
Valentin Rothberg 050ae61817 [CI:DOCS] --volume: consistent wording
Make sure that the wording of mounting something _from_ the source
_into_ the destination is consistent.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-09-12 10:04:29 +02:00
Ed Santiago 3a9a7dcdcd Man pages: refactor common options: --volume
This one is a nightmare, because --volume has been edited
in four different files throughout the years (five if you
count podman-build, which I am not including in this PR).
Those edits have not always been done in sync.

The list of options was reordered 2022-06-28 by Giuseppe in #14734,
but only in podman-create and -run (not in podman-pod-*). No
explanation of why, but I'll assume he knew what he was doing,
and have accepted that for the reference copy.

There was also a big edit in #8519.

The "Propagation property...bind mounted" sentence first appeared
in pod-clone, in #14299 by cdoern, with no obvious source of where
it came from. I choose to include it in the reference copy.

The "**copy**" option seems to work in pod-create, so I'm including
it in the reference copy. Someone please yell loudly if this is
not the case.

The "disables SELinux separation for containers used in the build",
no idea, changed that to just "for the container/pod"

The "advanced users / overlay / upperdir / workdir" paragraph
makes zero sense to me, but hey, I assume it applies to all
the commands, so I put it in the reference copy.

Finally, there's still a mishmash of backticks, asterisks, underscores,
and even quotation marks. Someone is gonna have to perform major
cleanup on this one day, but at least it'll be in only one place.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-09 08:20:31 -06:00
OpenShift Merge Robot 7e7db23dbf
Merge pull request #15687 from vrothberg/RUN-1639
health check: add on-failure actions
2022-09-09 15:17:19 +02:00
Valentin Rothberg aad29e759c health check: add on-failure actions
For systems that have extreme robustness requirements (edge devices,
particularly those in difficult to access environments), it is important
that applications continue running in all circumstances. When the
application fails, Podman must restart it automatically to provide this
robustness. Otherwise, these devices may require customer IT to
physically gain access to restart, which can be prohibitively difficult.

Add a new `--on-failure` flag that supports four actions:

- **none**: Take no action.

- **kill**: Kill the container.

- **restart**: Restart the container.  Do not combine the `restart`
               action with the `--restart` flag.  When running inside of
               a systemd unit, consider using the `kill` or `stop`
               action instead to make use of systemd's restart policy.

- **stop**: Stop the container.

To remain backwards compatible, **none** is the default action.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-09-09 13:02:05 +02:00
Ed Santiago 8e1aa7af3a
Fixes for vendoring Buildah
This commit was automatically cherry-picked
by buildah-vendor-treadmill v0.3
from the buildah vendor treadmill PR, #13808

Changes since 2022-08-16:

 - buildah 4139: minor line-number changes to the diff
   file because helpers.bash got edited

 - buildah 4190: skip the new test if remote

 - buildah 4195: add --retry / --retry-delay

 - changes to deal with vendoring gomega, units

 - changes to the podman login error message in system test

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-09-09 11:59:27 +02:00
Ed Santiago 3f0b5cd40c Man pages: refactor common options: --userns (pod)
Another easy one. Difference is that pod-create was fixed
in #14532 (s/ignore/not allowed/) but pod-clone was not.
I went with the fixed version.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-07 07:31:10 -06:00
Ed Santiago 4fbc4b8f79 Man pages: refactor common options: --privileged
An easy one. Went with the version from podman-run.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-07 06:41:44 -06:00
OpenShift Merge Robot 7946628734
Merge pull request #15653 from edsantiago/docs_dedup_sysctl
[CI:DOCS] Man pages: refactor common options: --sysctl
2022-09-07 14:36:56 +02:00
OpenShift Merge Robot 6254d38720
Merge pull request #15634 from bbalp/update-system-reset-warning-message
Update system reset warning message regarding deletion of volumes
2022-09-07 12:04:12 +02:00
OpenShift Merge Robot db5ec4dcdc
Merge pull request #15547 from vrothberg/RUN-1606
Support auto updates for Kubernetes workloads
2022-09-06 21:38:54 +02:00
OpenShift Merge Robot 2f555c0c74
Merge pull request #15621 from ventifus/fix-manpage-header
[CI:DOCS] Fix manpage header formatting
2022-09-06 19:26:53 +02:00
Andrew Denton 63c779a857 Fix manpage headers
Signed-off-by: Andrew Denton <adenton@redhat.com>
2022-09-06 09:37:13 -07:00
Ed Santiago 4675103c22 Man pages: refactor common options: --sysctl
As promised, harder and harder to review. Please take your time
with this one.

For IPC, I went with the list form. For net, I used the single-
sentence form instead of a one-element list.

The container/pod diffs are clumsy, sorry. Maybe it's time to
start thinking of a more flexible conditional mechanism, but
I'd really like to avoid that so I hope this is acceptable.

In the first sentence I went with 'namespaced' (final 'd') in
all instances. I also got rid of the 'new' in 'new pod' in
pod-clone.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-06 09:59:14 -06:00
Ed Santiago 40cd1c0ff5 Man pages: refactor common options: --device
The refactors are starting to get harder to review - sorry.

Here the differences are pretty small, mostly changes to the
"it is a combination" wording and some asteriskization.

The more significant diffs are that there are some Notes that
are pod- or container- or build-specific; I needed to move those
from the middle to the end, then keep them in the source files
themselves. I don't think this affects readability of the
resulting man pages, but your opinion may differ.

Last important thing: I included the /dev/fuse text in the
common option, which means it will now show up in podman-build
(it was not previously there). If this text is not applicable
to podman-build, please LMK ASAP so I can just move it back
to individual source files.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-06 08:20:32 -06:00
Barnabé BALP 4462305fe8
Update the displayed warning in documentation regarding the system reset
[NO NEW TESTS NEEDED]

Signed-off-by: Barnabé BALP <contact@barnabebalp.fr>
2022-09-06 16:04:51 +02:00
OpenShift Merge Robot 4e06aa3771
Merge pull request #15584 from sstosh/generate-systemd-env
Add generate systemd -e/--env option
2022-09-06 15:40:55 +02:00
Toshiki Sonoda a9a411f8a8 Add generate systemd -e/--env option
-e/--env option sets environment variables to the systemd unit files.

Fixes: #15523

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-09-06 20:17:11 +09:00
Valentin Rothberg 274d34a25a kube play: support auto updates and rollbacks
Add auto-update support to `podman kube play`.  Auto-update policies can
be configured for:
 * the entire pod via the `io.containers.autoupdate` annotation
 * a specific container via the `io.containers.autoupdate/$name` annotation

To make use of rollbacks, the `io.containers.sdnotify` policy should be
set to `container` such that the workload running _inside_ the container
can send the READY message via the NOTIFY_SOCKET once ready.  For
further details on auto updates and rollbacks, please refer to the
specific article [1].

Since auto updates and rollbacks bases on Podman's systemd integration,
the k8s YAML must be executed in the `podman-kube@` systemd template.
For further details on how to run k8s YAML in systemd via Podman, please
refer to the specific article [2].

An examplary k8s YAML may look as follows:
```YAML
apiVersion: v1
kind: Pod
metadata:
  annotations:
      io.containers.autoupdate: "local"
      io.containers.autoupdate/b: "registry"
  labels:
    app: test
  name: test_pod
spec:
  containers:
  - command:
    - top
    image: alpine
    name: a
  - command:
    - top
    image: alpine
    name: b
```

[1] https://www.redhat.com/sysadmin/podman-auto-updates-rollbacks
[2] https://www.redhat.com/sysadmin/kubernetes-workloads-podman-systemd

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-09-06 08:56:55 +02:00
Ed Santiago fb38838fea Man pages: refactor common options: --memory*
(memory-star, i.e., several memory options) that didn't get
included in #15276. Most of them are shoo-ins; the two in
container-clone and pod-clone deserve special attention
because of the "If unspecified" wording.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-05 17:59:13 -06:00
Daniel J Walsh cbaa78cd8a
Fix list of default capabilities
Fixes: https://github.com/containers/podman/issues/15626

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-09-05 07:25:38 -04:00
Ed Santiago b9df3a6a9f Man pages: refactor common options: --label
Went with the podman-run version, where the "example" is
in the option template as per our guidelines.

I could not include the network- or volume-create
man pages, nor podman build.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-03 05:49:52 -06:00
OpenShift Merge Robot e136bcc7c9
Merge pull request #15606 from edsantiago/docs_dedup_digestfile
[CI:DOCS] Man pages: refactor common options: --digestfile
2022-09-03 13:27:25 +02:00
OpenShift Merge Robot 0e66f75f2a
Merge pull request #15604 from edsantiago/docs_dedup_deviceXY
[CI:DOCS] Man pages: refactor common options: --device-X-Y
2022-09-02 12:57:45 +02:00
Ed Santiago 070dfa3b3b Man pages: refactor common options: --digestfile
Only used in two pages. I took the liberty of adding the "N/A
on remote" text to manifest-push.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-01 15:45:00 -06:00
OpenShift Merge Robot 475cac4432
Merge pull request #15601 from edsantiago/docs_dedup_name
[CI:DOCS] Man pages: refactor common options: --name
2022-09-01 23:41:53 +02:00
Ed Santiago 3d09d47a25 Man pages: refactor common options: --device-X-Y
Followup from #15276: add the FAQ-26 link, and fix one
broken replacement.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-01 13:11:44 -06:00
Charlie Doern 050f3291b9 implement podman update
podman update allows users to change the cgroup configuration of an existing container using the already defined resource limits flags
from podman create/run. The supported flags in crun are:

this command is also now supported in the libpod api via the /libpod/containers/<CID>/update endpoint where
the resource limits are passed inthe request body and follow the OCI resource spec format

–memory
–cpus
–cpuset-cpus
–cpuset-mems
–memory-swap
–memory-reservation
–cpu-shares
–cpu-quota
–cpu-period
–blkio-weight
–cpu-rt-period
–cpu-rt-runtime
-device-read-bps
-device-write-bps
-device-read-iops
-device-write-iops
-memory-swappiness
-blkio-weight-device

resolves #15067

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-09-01 13:02:01 -04:00
Ed Santiago c63830166c Man pages: refactor common options: --name
Only for podman-create and -run, unfortunately: all the
others are too different, and can't easily be combined.

I went with the podman-run version because it was most
recently updated in #5192.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-01 10:58:00 -06:00
OpenShift Merge Robot 8266dbe7a9
Merge pull request #15473 from umohnani8/empty-dir
Add emptyDir volume support to kube play
2022-08-31 09:36:04 -04:00
OpenShift Merge Robot 60e4b762b3
Merge pull request #15562 from edsantiago/docs_dedup_signal
[CI:DOCS] Man pages: refactor common options: --signal
2022-08-31 09:28:00 -04:00
OpenShift Merge Robot 55710d8d55
Merge pull request #15411 from arixmkii/override_default_username
Allow to override default username via command line
2022-08-31 09:12:46 -04:00
OpenShift Merge Robot 9b4dac4c4d
Merge pull request #15389 from giuseppe/userns-map-user
podman: add uid and gid options to keep-id
2022-08-31 08:37:34 -04:00
Ed Santiago 70a599b571 Man pages: refactor common options: --signal
Would've been an easy one, except I decided to fix the text
to conform to our guidelines. I haven't been doing this,
but in this case it's only two man pages and the text is
short enough to make for easy review.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-31 05:27:08 -06:00
Ed Santiago 1ed9a47409 Man pages: refactor common options: --restart
Only applicable to podman-create and -run. I went with the -run
version because it is cleaner and more recently updated.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-30 08:35:53 -06:00
Urvashi Mohnani 98169c20dd Add emptyDir volume support to kube play
When a kube yaml has a volume set as empty dir, podman
will create an anonymous volume with the empty dir name and
attach it to the containers running in the pod. When the pod
is removed, the empy dir volume created is also removed.

Add tests and docs for this as well.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2022-08-30 10:34:45 -04:00
Giuseppe Scrivano 8637548a36
docs: move userns options to separate file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-08-30 15:10:41 +02:00
Giuseppe Scrivano e015c9e3f7
podman: add uid and gid options to keep-id
add two new options to the keep-id user namespace option:

- uid: allow to override the UID used inside the container.
- gid: allow to override the GID used inside the container.

For example, the following command will map the rootless user (that
has UID=0 inside the rootless user namespace) to the UID=11 inside the
container user namespace:

$ podman run --userns=keep-id:uid=11 --rm -ti  fedora cat /proc/self/uid_map
         0          1         11
        11          0          1
        12         12      65525

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-08-30 14:39:27 +02:00
Ed Santiago 62d87aa9ba Man pages: refactor common options: --subXidname
Whew! This one started off identical everywhere, but the version
in podman-run got fixed in #1380, then again in #5192, with no
corresponding fixes to any of the other man pages.

I went with the podman-run version, with a small change in wording.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-30 05:28:28 -06:00
Arthur Sengileyev 08a2851bae Allow to override default username via command line
Signed-off-by: Arthur Sengileyev <arthur.sengileyev@gmail.com>
2022-08-30 13:35:07 +03:00
Ed Santiago 4e18c8100f Man pages: refactor common options: --http-proxy
Only between podman-create and -run. (podman-build is too
different). I went with the podman-run version.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-29 06:47:07 -06:00
Ed Santiago d19438fa6d Man pages: refactor common options: --dns-*
--dns-opt and --dns-search, but only in podman-create and -run.
Went with the -run version in both cases; --dns-opt remained
unchanged, but in --dns-search I changed 'and' to 'with'.

Did not consolidate podman-build or podman-pod-create: too
different.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-29 05:37:52 -06:00
OpenShift Merge Robot d68eea6014
Merge pull request #15507 from patrycja-guzik/docs-examples
[CI:DOCS] Fix example sections to follow the same format
2022-08-27 07:23:08 -04:00
patrycja-guzik 11de12097f Fix example sections to follow the same format
Signed-off-by: patrycja-guzik <patrycja.k.guzik@gmail.com>
2022-08-27 00:10:34 +02:00
Stefano Figura 61d842a183
Fix template name inconsistency
Signed-off-by: Stefano Figura <stefano@figura.im>
2022-08-26 15:34:05 +02:00
OpenShift Merge Robot b1247b62bd
Merge pull request #15482 from edsantiago/docs_dedup_systemd
Man pages: refactor common options: --systemd
2022-08-26 06:33:35 -04:00
Daniel J Walsh bb7ae54ef7
Merge pull request #15466 from mtrmac/image-trust-sigstore
podman image trust overhaul, incl. sigstore
2022-08-25 16:11:50 -04:00
Ed Santiago 42fdc72aa8 Man pages: refactor common options: --systemd
I went with the podman-run version, which better conforms to
style conventions.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-25 08:52:41 -06:00
Miloslav Trmač ff3f574fc0 Add support for sigstoreSigned in (podman image trust set)
NOTE: This does not edit the use-sigstore-attachments value
in registries.d, similarly to how (podman image trust set) didn't
set the lookaside paths for simple signing.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2022-08-25 01:50:43 +02:00
Ed Santiago 0ff0fde49e Man pages: refactor common options: log-related options
podman-logs and podman-pod-logs. Most of these were already
identical, needing no review. Exceptions:

  --follow : needed some container/pod tweaking. This is the
             only one that really needs careful review.

  --names  : I went with the longer version

Note that podman-events has --since and --until options too, but
those are too different to be combined here.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-24 17:48:02 -06:00
Ed Santiago 2fed2a2829 Man pages: refactor common options: --pid
I chose the one from podman-run, but reordered ns/private
to put them in alphabetical order.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-24 11:48:43 -06:00
OpenShift Merge Robot 34d516840d
Merge pull request #15453 from edsantiago/docs_dedup_ipc
[CI:DOCS] Man pages: refactor common options: --ipc
2022-08-24 10:15:34 -04:00
OpenShift Merge Robot 082388a159
Merge pull request #15439 from rhatdan/service
Fix documentation of use of tcp connections
2022-08-24 09:59:31 -04:00
OpenShift Merge Robot 67c4068bb3
Merge pull request #15443 from flouthoc/env-merge-support
run,create: add support for `--env-merge` for preprocessing default environment variables
2022-08-24 09:14:42 -04:00
Ed Santiago 33ab7e846a Man pages: refactor common options: --ipc
This is not an easy one to review, sorry.

I went with the version from podman-create. The differences
against podman-run are subtle: apostrophes, whitespace, and
the arg description in the '####' line. Suggestion for review:
run hack/markdown-preprocess-review, then after you finish
with that, cd /tmp/markdown<TAB>/ipc and use your favorite
two-file diff tool to compare podman-run* against zzz*.

I did not even try to combine the podman-build one; that one
is too different.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-24 06:58:20 -06:00
Ed Santiago ef6285a6f2 Man pages: refactor common options: --gidmap
Two versions: one for container-related commands, one for pods.

The container one is easy: all versions matched, so I made no
changes.

The pod one is hard to review. I went with the pod-clone
version because the pod-create one looks suspicious: it
talks in terms of containers, not pods. It's possible
that I've got it wrong, and that these two cannot be
combined, so please review very carefully. I strongly
recommend using hack/markdown-preprocess-review for this one.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-24 05:43:23 -06:00
Ed Santiago c64a6ba072 Man pages: Refactor common options: --workdir
I chose the version from podman-run because it is the most
up-to-date, and most correct wrt current syntax guidelines.
Differences are in arg description, language, and asterisks.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-24 04:43:06 -06:00
Aditya R b4584ea854
run,create: add support for --env-merge for preprocessing vars
Allow end users to preprocess default environment variables before
injecting them into container using `--env-merge`

Usage
```
podman run -it --rm --env-merge some=${some}-edit --env-merge
some2=${some2}-edit2 myimage sh
```

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

Signed-off-by: Aditya R <arajan@redhat.com>
2022-08-24 14:06:25 +05:30
Ed Santiago 9dca68bdd9 Man pages: refactor common options: --ignore
Should be an easy one to review.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-23 15:18:44 -06:00
OpenShift Merge Robot 2538bea8da
Merge pull request #15438 from edsantiago/docs_dedup_devicecgrouprule
[CI:DOCS] Man pages: refactor common options: --device-cgroup-rule
2022-08-23 17:02:18 -04:00
OpenShift Merge Robot 2651009c48
Merge pull request #15429 from graywolf-at-work/document-transport
Document restrictions on transport in FROM
2022-08-23 16:23:08 -04:00
Daniel J Walsh 8b1e88bf80
Fix documentation of use of tcp connections
Fixes: https://github.com/containers/podman/issues/15430

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-08-23 16:12:08 -04:00
Ed Santiago 7d7aead511 Man pages: refactor common options: --device-cgroup-rule
I chose the version from podman-create. (This is unusual. podman-run
tends to have the better-maintained, more up-to-date version.)

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-23 13:02:09 -06:00
Ed Santiago 2c03681b2c Man pages: refactor common options: --disable-content-trust
A NOP option. I chose the container word, of course, and the
word 'option' instead of 'flag'. I also hyphenated where needed.

I'm choosing to eliminate the "not on remote" text, because I
don't think it's true: podman-remote happily accepts that
flag on all those commands, including build. (It's marked
as hidden on build, but still accepted).

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-23 10:10:35 -06:00
OpenShift Merge Robot bd3bbb1349
Merge pull request #15417 from edsantiago/docs_dedup_fix_sloppiness
[CI:DOCS] Man pages: fix sloppiness
2022-08-23 11:15:24 -04:00
OpenShift Merge Robot 5dea1218a0
Merge pull request #15426 from nicrowe00/14955
podman kube play/down --read from URL
2022-08-23 11:12:50 -04:00
Ed Santiago 5c9bac141e Man pages: refactor common options: --cpus
Only on podman create and run: the --cpus option on container-clone
and pod-clone can probably be combined, but maybe later. pod-create
has unique wording that can't be combined.

This is a freebie to review: the text in both files was already
identical, and I made no changes to it. hack/markdown-preprocess-review
will agree, and show you no diffs, because there are none worth
seeing.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-08-23 08:04:36 -06:00
OpenShift Merge Robot 5948320951
Merge pull request #15384 from sstosh/options-cgroupsv1-rootless
Warning messages are printed and ignored if we use an unsupported option on cgroups V1 rootless systems
2022-08-23 09:42:47 -04:00
OpenShift Merge Robot c5abac27b5
Merge pull request #15420 from sstosh/fix-trouble
[CI:DOCS] Update Troubleshooting.md
2022-08-23 09:24:14 -04:00
Niall Crowe 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
Tomas Volf 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
Toshiki Sonoda 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
Ed Santiago 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
OpenShift Merge Robot d97f4dfbcc
Merge pull request #15414 from edsantiago/docs_dedup_cidfile
Man pages: refactor common options: --cidfile
2022-08-22 20:31:09 -04:00
Toshiki Sonoda 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
OpenShift Merge Robot 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
Ed Santiago 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
Ed Santiago 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
OpenShift Merge Robot aefd0aed39
Merge pull request #15412 from edsantiago/docs_dedup_creds
Man pages: refactor common options: --creds
2022-08-22 14:16:44 -04:00
OpenShift Merge Robot 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
OpenShift Merge Robot 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
OpenShift Merge Robot 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
Ed Santiago 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
Valentin Rothberg 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
Ashley Cui 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
Toshiki Sonoda 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
Ed Santiago 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
OpenShift Merge Robot f50970ab6c
Merge pull request #15342 from edsantiago/docs_dedup_authfile
Man pages: refactor common options: authfile
2022-08-22 08:46:35 +00:00
Daniel J Walsh 2d245e595a
Merge pull request #15305 from dilyanpalauzov/reword_exit_policy
Reword --exit-policy option
2022-08-18 13:14:01 -04:00
OpenShift Merge Robot f63da351f2
Merge pull request #15364 from rhatdan/stats
Add podman stats --no-trunc option
2022-08-17 21:46:21 +00:00
Daniel J Walsh 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
Daniel J Walsh 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
Daniel J Walsh 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
Daniel J Walsh 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
OpenShift Merge Robot c90eec2700
Merge pull request #14999 from sstosh/restart-option
Add restart --cidfile, --filter
2022-08-17 09:41:54 +00:00
Nalin Dahyabhai 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
Ed Santiago 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
OpenShift Merge Robot 552225c414
Merge pull request #15339 from edsantiago/docs_dedup_annotation
Man pages: refactor common options: --annotation
2022-08-16 13:54:03 +00:00
Ed Santiago 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
OpenShift Merge Robot d0567dd078
Merge pull request #15270 from nicrowe00/kubegenerate
Add "podman kube generate" command
2022-08-16 13:04:41 +00:00
OpenShift Merge Robot 311b5946f7
Merge pull request #15331 from edsantiago/docs_dedup_piecemeal
Man pages: refactor common options: arch
2022-08-16 13:01:59 +00:00
Ed Santiago 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
Daniel J Walsh 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
Toshiki Sonoda 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
Niall Crowe 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
Aditya R 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
Tomas Volf 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
OpenShift Merge Robot aa13c73f71
Merge pull request #14926 from cdoern/generateSpec
podman generate spec
2022-08-10 10:23:18 +00:00
OpenShift Merge Robot c4a35313c9
Merge pull request #15260 from edsantiago/docs_dedup_continued
Man pages: refactor common options
2022-08-10 10:20:45 +00:00
OpenShift Merge Robot 84502fc144
Merge pull request #15094 from cdoern/ssh
podman ssh work, using new c/common interface
2022-08-10 08:57:58 +00:00
Ed Santiago 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
OpenShift Merge Robot 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
Charlie Doern 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
Ed Santiago 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
Aditya R 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
Karthik Elango cc8e4d5fec remove image podman no prune
Signed-off-by: Karthik Elango <kelango@redhat.com>
2022-08-04 14:55:03 -04:00
Charlie Doern 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
openshift-ci[bot] 1cf6afb788
Merge pull request #15192 from vrothberg/fix-15185
podman info: hide `--debug`
2022-08-04 14:23:35 +00:00
Valentin Rothberg 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
Paul Holzinger 79b10a7c6a
readthedocs(sphinx): run the markdown preprocessor
When docs.podman.io is build on readthedocs we have to make sure to
generate the markdown pages first.

It works locally with sphinx but I have no idea if this works on the
readthedocs infra.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-08-04 11:46:54 +02:00
openshift-ci[bot] 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
openshift-ci[bot] 5fc7339aa1
Merge pull request #15084 from sstosh/rm-filter
Add rm --filter option
2022-08-03 17:23:07 +00:00
Ed Santiago 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
Niall Crowe 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
OpenShift Merge Robot 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
OpenShift Merge Robot 82137dc64e
Merge pull request #15108 from mtrmac/sigstore-sign
Sigstore sign
2022-08-01 13:35:43 +02:00
Felix Stupp 6c69a2ea11
podman-volume-import: Reword "precendence"
Signed-off-by: Felix Stupp <me+github@banananet.work>
2022-07-31 20:34:14 +00:00
Felix Stupp 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
Miloslav Trmač 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
Romain Geissler 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
Toshiki Sonoda 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
Ewout van Mansom 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
OpenShift Merge Robot 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
Erik Sjölund 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
Charlie Doern 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
OpenShift Merge Robot 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
OpenShift Merge Robot 9b4df69830
Merge pull request #14967 from sstosh/pause-option
Add pause/unpause --latest, --cidfile, --filter
2022-07-22 18:12:50 +02:00
OpenShift Merge Robot 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
Paul Holzinger 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
Charlie Doern 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
OpenShift Merge Robot dd74ef4f58
Merge pull request #14958 from cdoern/network
[CI:DOCS] document isolate option for network create
2022-07-20 19:43:19 +02:00
Urvashi Mohnani 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
Toshiki Sonoda 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
Ed Santiago 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
Toshiki Sonoda 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
Charlie Doern 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
Erik Sjölund 56cfdffe47 [CI:DOCS] Tutorials.rst: add socket activation
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-07-15 17:36:33 +02:00
openshift-ci[bot] 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
Karthik Elango 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
Jake Correnti 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
Ed Santiago 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
openshift-ci[bot] 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
openshift-ci[bot] 5c3eec5589
Merge pull request #14772 from nicrowe00/12475
Add "podman kube play" cmd
2022-07-13 19:29:16 +00:00
Daniel J Walsh 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
openshift-ci[bot] 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
Niall Crowe 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
Erik Sjölund 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
Daniel J Walsh 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
Erik Sjölund 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
Erik Sjölund 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
Erik Sjölund 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
Erik Sjölund 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
Erik Sjölund 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
Valentin Rothberg 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
openshift-ci[bot] d481fbe759
Merge pull request #14803 from bugfood/volumes
make 9p security model configurable; document
2022-07-07 18:21:55 +00:00
openshift-ci[bot] dd0418a5fe
Merge pull request #14762 from ashley-cui/machinfo
Podman machine info
2022-07-07 15:17:40 +00:00
Corey Hickey 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: 8e7eeaa4dd
[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
Ashley Cui 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
cdoern 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
openshift-ci[bot] 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
Erik Sjölund 24fcfb5d9e Fix spelling "read only" -> "read-only"
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-07-02 08:37:43 +02:00
Charlie Doern b92149e2a8 podman pod create --memory
using the new resource backend, implement podman pod create --memory which enables
users to modify memory.max inside of the parent cgroup (the pod), implicitly impacting all
children unless overriden

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-07-01 13:44:32 -04:00
openshift-ci[bot] dc2a93421b
Merge pull request #14788 from vrothberg/rename-template
podman-play-kube template: rename to podman-kube
2022-07-01 10:55:42 +00:00
openshift-ci[bot] 96e72d90b8
Merge pull request #14449 from cdoern/podVolumes
podman volume create --opt=o=timeout...
2022-07-01 08:46:11 +00:00
Valentin Rothberg 9c658f4907 docs: mention the podman-kube template
Mention the template in the docs for play-kube and generate-systemd.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-06-30 17:09:53 +02:00
openshift-ci[bot] d6cdb996bc
Merge pull request #14706 from ashley-cui/rootmach
Only allow Rootless runs of Podman Machine
2022-06-29 19:32:26 +00:00
Ashley Cui d9ff0fd15d Only allow Rootless runs of Podman Machine
Podman Machine crashes if run as root. When creating the machine, we write the ignition so that the UID of the core user matches the UID of the user on the host. We by default, create the root user on the machine with UID 0. If the user on the host is root, the core UID and the Root UID collide, causing a the VM not to boot.

[NO NEW TESTS NEEDED]

Signed-off-by: Ashley Cui <acui@redhat.com>
2022-06-29 09:19:09 -04:00
openshift-ci[bot] 8267cd3c51
Merge pull request #14734 from giuseppe/copyup-switch-order
volume: add two new options copy and nocopy
2022-06-28 13:57:16 +00:00
Giuseppe Scrivano aada13f244
volume: new options [no]copy
add two new options to the volume create command: copy and nocopy.

When nocopy is specified, the files from the container image are not
copied up to the volume.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-06-27 20:22:20 +02:00
Paul Holzinger 2fab7d169b
add podman volume reload to sync volume plugins
Libpod requires that all volumes are stored in the libpod db. Because
volume plugins can be created outside of podman, it will not show all
available plugins. This podman volume reload command allows users to
sync the libpod db with their external volume plugins. All new volumes
from the plugin are also created in the libpod db and when a volume from
the db no longer exists it will be removed if possible.

There are some problems:
- naming conflicts, in this case we only use the first volume we found.
  This is not deterministic.
- race conditions, we have no control over the volume plugins. It is
  possible that the volumes changed while we run this command.

Fixes #14207

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-06-23 18:36:30 +02:00
Erik Sjölund aa4279ae15 Fix spelling "setup" -> "set up" and similar
* Replace "setup", "lookup", "cleanup", "backup" with
  "set up", "look up", "clean up", "back up"
  when used as verbs. Replace also variations of those.

* Improve language in a few places.

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-06-22 18:39:21 +02:00
openshift-ci[bot] 8863e13dc3
Merge pull request #14643 from clobrano/feature/network/list/dangling/dev
allow filter networks by dangling status
2022-06-21 18:19:16 +00:00
openshift-ci[bot] fe974101eb
Merge pull request #14625 from cdoern/podShm
podman pod create --shm-size
2022-06-21 17:57:24 +00:00
Carlo Lobrano 4a981c490b allow filter networks by dangling status
add the ability to filter networks by their dangling status via:

`network ls --filter dangling=true/false`

Fixes: #14595
Signed-off-by: Carlo Lobrano <c.lobrano@gmail.com>
2022-06-21 17:50:55 +02:00
cdoern f451b68dfa podman pod create --shm-size
expose the --shm-size flag to podman pod create and add proper handling and inheritance
for the option.

resolves #14609

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-06-20 10:25:00 -04:00
openshift-ci[bot] fe8e536328
Merge pull request #14556 from sstosh/system-prune-network
podman system prune support prune unused networks
2022-06-20 13:57:42 +00:00
Erik Sjölund dda68201a4 [CI:DOCS] Rewrite --env docs
* Add docs about trailing * functionality in podman-exec.1.md

* Rewrite --env description in podman-create.1.md and podman-run.1.md

* Rewrite the --env examples in podman-create.1.md and podman-run.1.md

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-06-19 09:56:46 +02:00
openshift-ci[bot] 2af8851787
Merge pull request #14299 from cdoern/podClone
implement podman pod clone
2022-06-16 20:05:27 +00:00
Matthew Heon 6c5e1420e2 Make it clear the REST API could be a security issue
The manpage for `podman system service` should mention that this
is not safe for external consumption unless you are comfortable
giving anyone who accesses it full root on the system.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2022-06-16 09:56:44 -04:00
Toshiki Sonoda 4811cb110a podman system prune support prune unused networks
This is an enhancement for the podman system prune feature.

In this issue, it is mentioned that 'network prune' should be
wired into 'podman system prune'
https://github.com/containers/podman/issues/8673

Therefore, I add the function to remove unused networks.

Signed-off-by: Toshiki Sonoda <sonoda.toshiki@fujitsu.com>
2022-06-14 14:04:03 +09:00
OpenShift Merge Robot 1c46b31a68
Merge pull request #14560 from rhatdan/remote
podman-remote push --remove-signatures support
2022-06-13 04:15:20 -04:00
cdoern 958759a719 podman pod clone
implement podman pod clone, a command to create an exact copy of a pod while changing
certain config elements

current supported flags are:
--name change the pod name
--destroy remove the original pod
--start run the new pod on creation
and all infra-container related flags from podman pod create (namespaces etc)

resolves #12843

Signed-off-by: cdoern <cdoern@redhat.com>
2022-06-10 14:23:19 -04:00
Daniel J Walsh 48cf1d2583
podman-remote push --remove-signatures support
I don't see a reason why we don't support --remove-signatures
from remote push, so adding support.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-06-10 07:14:12 -04:00
Valentin Rothberg d4272bed51 podman cp: do not overwrite non-dirs with dirs and vice versa
Add a new `--overwrite` flag to `podman cp` to allow for overwriting in
case existing users depend on the behavior; they will have a workaround.
By default, the flag is turned off to be compatible with Docker and to
have a more sane behavior.

Fixes: #14420
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-06-10 09:42:19 +02:00
Valentin Rothberg 46c8da7d9a vendor buildah@main
Note that the bud-logfile-with-split-logfile-by-platform test is skipped
on the remote client (see #14544).

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-06-10 09:42:19 +02:00
OpenShift Merge Robot 9f1bd0a0a1
Merge pull request #14405 from rhatdan/docs
[CI:DOCS] Mount propagation works with named volumes
2022-06-09 17:13:31 -04:00
cdoern 7b3e43c1f6 podman volume create --opt=o=timeout...
add an option to configure the driver timeout when creating a volume.
The default is 5 seconds but this value is too small for some custom drivers.

Signed-off-by: cdoern <cdoern@redhat.com>
2022-06-09 16:44:21 -04:00
Daniel J Walsh f0516a0141
--userns=keep-id,nomap are not allowed in rootful mode
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-06-08 09:59:13 -04:00
OpenShift Merge Robot 48a4e6d690
Merge pull request #14453 from flouthoc/support-additional-build-context-on-remote
remote: enable support for additional `--build-context` on macOS and remote
2022-06-06 14:28:22 +02:00
Aditya R 22e442ee25
tests: buildah-bud fix reason for skip
Signed-off-by: Aditya R <arajan@redhat.com>
2022-06-03 23:47:09 +05:30
OpenShift Merge Robot 5e15a26e0e
Merge pull request #14460 from cipherboy/align-docker-podman-load-output
Align docker load and podman load output
2022-06-02 21:24:26 -04:00
Alexander Scheel 1b6505d74b Update test output expectation
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
2022-06-02 16:05:05 -04:00
Karthik Elango 9a34b88c9a changed megabyte to mebibyte
In podman run --help, the message said megabyte, gigabyte, etc. In reality podman takes mebibytes, gibibytes, etc.

[CI:DOCS]

Signed-off-by: Karthik Elango <kelango@redhat.com>
2022-06-02 14:58:39 -04:00
OpenShift Merge Robot 570c2492a3
Merge pull request #14451 from PhrozenByte/bugfix/docs-publish
[CI:DOCS] Document protocol usage for --publish
2022-06-02 10:48:18 -04:00
Daniel Rudolf 5b9729c479
Document protocol usage for --publish
This also unifies the documentation of `--publish` for `podman create`, `podman run`, and `podman pod create`.

Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2022-06-02 14:26:51 +02:00
Aditya R 44f11ec2c6
podman-remote: enable support for additional build-context on macOS, remote
Feature of additional build context added here https://github.com/containers/buildah/pull/3978
already exists on `podman` following PR just enables this feature of
`podman-remote` and `podman on macOS` setups.

Signed-off-by: Aditya R <arajan@redhat.com>
2022-06-02 17:38:33 +05:30
OpenShift Merge Robot 2958aee083
Merge pull request #14417 from Luap99/machine-ssh
podman machine ssh: set correct exit code
2022-06-02 04:24:01 -04:00
Paul Holzinger ec576a5491
podman volume export/import: give better error
When the volume does not exist we should output an error stating so and
not some generic one.

Fixes #14411

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-30 18:10:28 +02:00
Paul Holzinger 0e58636c3a
podman machine ssh: set correct exit code
Forward the ssh exit code to the podman caller. This is useful for
scripts. Use the same logic as podman unshare.

Fixes #14401

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-05-30 15:55:20 +02:00
Daniel J Walsh c0ad9a43e4
Mount propagation works with named volumes
Fixes: https://github.com/containers/podman/issues/13939

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-05-28 07:06:16 -04:00
Aditya R 66a56ce05a
vendor: bump buildah to v1.26.1-0.20220524184833-5500333c2e06
Bump buildah to v1.26.1-0.20220524184833-5500333c2e06

Signed-off-by: Aditya R <arajan@redhat.com>
2022-05-26 21:01:31 +05:30
Matthew Heon 9fcfea7643 First batch of resolutions to FIXMEs
Most of these are no longer relevant, just drop the comments.

Most notable change: allow `podman kill` on paused containers.
Works just fine when I test it.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2022-05-25 13:28:04 -04:00
OpenShift Merge Robot 800a367d73
Merge pull request #14333 from rhatdan/pod
Allow podman pod create --share +pid
2022-05-25 08:57:15 -04:00
Daniel J Walsh 2ce4755767
Allow podman pod create --share +pid
Fixes: https://github.com/containers/podman/issues/13422

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-05-24 15:58:31 -04:00
Daniel J Walsh df394b5218
Allow podman pod create to accept name argument
I am constantly attempting to add the podname to the last
argument to podman pod create. Allowing this makes it match
podman volume create and podman network create.

It does not match podman container create, since podman container create
arguments specify the arguments to run with the container.

Still need to support the --name option for backwards compatibility.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-05-24 13:17:02 -04:00