Commit Graph

1055 Commits

Author SHA1 Message Date
OpenShift Merge Robot f918a9418f
Merge pull request #13075 from n1hility/mac-forward-helper
Mac API forwarding using a privileged docker socket claim helper
2022-02-16 13:39:42 -05:00
Jason T. Greene c74f8f04fd Introduce podman machine init --root=t|f and podman machine set --root=t|f
Switch default to rootless for mac and windows

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-02-16 03:49:17 -06:00
Patrycja Guzik 10580ec198 Unify ls --filter docs for networks and pods
Signed-off-by: Patrycja Guzik <patrycja.k.guzik@gmail.com>

#13078 follow-up
2022-02-15 23:54:45 +01:00
Paul Holzinger 4a166c8b63
podman network: add documentation for netavark
Add some docs about the different network backends. Also remove the CNI
word from network since we refer to either a netavark or CNI config.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-02-15 16:46:23 +01:00
Paul Holzinger 829f88d74d
Show API doc for several versions
Right now it is not possible to look at the API version for a specific
version. docs.podman.io always show the latest version from the main
branch. This is not want many users want so they now have the ability to
select a different version.

Fixes #12796

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-02-09 18:17:52 +01:00
OpenShift Merge Robot 956664f65b
Merge pull request #12930 from cdoern/podCgroup
Podman pod create --share-parent vs --share=cgroup
2022-02-04 09:41:12 -05:00
OpenShift Merge Robot 2cc3274289
Merge pull request #13125 from nalind/url-docs
[CI:DOCS] Document `schema` values in the `--url` flag
2022-02-03 10:07:20 -05:00
cdoern 9eb88ea474 Podman pod create --share-parent vs --share=cgroup
separated cgroupNS sharing from setting the pod as the cgroup parent,
made a new flag --share-parent which sets the pod as the cgroup parent for all
containers entering the pod

remove cgroup from the default kernel namespaces since we want the same default behavior as before which is just the cgroup parent.

resolves #12765

Signed-off-by: cdoern <cdoern@redhat.com>
Signed-off-by: cdoern <cbdoer23@g.holycross.edu>
Signed-off-by: cdoern <cdoern@redhat.com>
2022-02-03 09:30:17 -05:00
Paul Holzinger 55c4a1468b
system prune: remove all networks
podman system prune should also remove all networks. When we want to
users to migrate to the new network stack we recommend to run podman
system reset. However this did not remove networks and if there were
still networks around we would continue to use cni since this was
considered an old system.

There is one exception for the default network. It should not be removed
since this could cause other issues when it no longer exists. The
network backend detection logic ignores the default network so this is
fine.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-02-03 13:14:07 +01:00
Nalin Dahyabhai fee76f6abc Document `schema` values in the `--url` flag
Document the recognized `schema` types that can be used in a value
passed to the `--url` command line flag.

[CI:DOCS]

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2022-02-02 18:07:10 -05:00
OpenShift Merge Robot 56a1c76ad3
Merge pull request #13104 from giuseppe/fix-podman-stats-comment
[CI:DOCS] docs: clarify rootless net stats
2022-02-02 10:41:27 -05:00
OpenShift Merge Robot 60528b9c99
Merge pull request #13066 from rhatdan/man
Clarify remote client means Mac and Windows
2022-02-01 15:41:36 -05:00
Giuseppe Scrivano 85e8c1c9a7
docs: clarify rootless net stats
follow-up for https://github.com/containers/podman/pull/13101

[CI:DOCS]

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-02-01 20:16:24 +01:00
Giuseppe Scrivano 865f0a1977
libpod: report slirp4netns network stats
by default slirp4netns uses the tap0 device.  When slirp4netns is
used, use that device by default instead of eth0.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-02-01 16:23:58 +01:00
OpenShift Merge Robot 905d31ddd3
Merge pull request #13100 from fj-tsubasa/oom-kill-disable-man
[CI:DOCS] Add notes to "--oom-kill-disable" not supported on cgroups V2
2022-02-01 08:26:58 -05:00
Tsubasa Watanabe 009d9eb679 Add notes to "--oom-kill-disable" not supported on cgroups V2
Clarify "--oom-kill-disable" is not supported on cgroups V2 in
documentation.

Signed-off-by: Tsubasa Watanabe <w.tsubasa@fujitsu.com>
2022-01-31 17:14:46 +09:00
Patrycja Guzik a8fb8f52c7 Adapt podman images ls filters docs to be aligned with prune filters docs
Signed-off-by: Patrycja Guzik <patrycja.k.guzik@gmail.com>
2022-01-29 22:50:49 +01:00
Daniel J Walsh 6365437871
Clarify remote client means Mac and Windows
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-01-28 08:14:05 -05:00
OpenShift Merge Robot 1b544b7424
Merge pull request #12712 from flouthoc/volume_overlay_advanced
volume: add support for non-volatile `upperdir`,`workdir` for overlay volumes
2022-01-28 07:06:02 -05:00
Aditya Rajan e64e6500d3
volume: add support for non-volatile upperdir,workdir for overlay volumes
Often users want their overlayed volumes to be `non-volatile` in nature
that means that same `upper` dir can be re-used by one or more
containers but overall of nature of volumes still have to be `overlay`
so work done is still on a overlay not on the actual volume.

Following PR adds support for more advanced options i.e custom `workdir`
and `upperdir` for overlayed volumes. So that users can re-use `workdir`
and `upperdir` across new containers as well.

Usage
```console

$ podman run -it -v myvol:/data:O,upperdir=/path/persistant/upper,workdir=/path/persistant/work alpine sh

```

Signed-off-by: Aditya R <arajan@redhat.com>
2022-01-28 13:10:15 +05:30
OpenShift Merge Robot bedbc3e6fc
Merge pull request #13042 from Luap99/subnets
network create: allow multiple subnets
2022-01-27 12:16:50 -05:00
Paul Holzinger 6961d91206
network create: allow multiple subnets
podman network create --subnet, --gateway and --ip-range can now be
specified multiple times to join the network to more than one subnet.
This is very useful if you want to use a dual stack network and assign a
fixed ipv4 and ipv6 subnet. The order of the options is important here,
the first --gateway/--ip-range will be assigned to the first subnet and
so on.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-01-27 16:38:39 +01:00
OpenShift Merge Robot 9e7e91c13e
Merge pull request #13034 from rhatdan/docs
CI:DOCS: Unify podman prune filter description: volumes, networks, system
2022-01-27 09:42:50 -05:00
Daniel J Walsh 24dc02064e
Fix sort ordering of filters
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-01-27 07:19:02 -05:00
Patrycja Guzik 63b1557a25
Unify podman prune filter description: volumes, networks, system
follow up of #12976

Signed-off-by: Patrycja Guzik <patrycja.k.guzik@gmail.com>
2022-01-27 07:13:06 -05:00
tomsweeneyredhat 4a4d86d40f Bump Buildah to v1.24.0
Bumps Buildah to v1.24.0 and adopts the new values for pull:
true, false, never, and always.  The pull-never and pull-always options
for the build command are still usable, but they have been removed from
the man page documentation with this change.

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2022-01-27 07:03:56 -05:00
Erik Sjölund 42e1c29816 [CI:DOCS] Fix typos and improve language
* Add more documentation fixes similar to
  8099a61b64

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-01-24 23:32:09 +01:00
Erik Sjölund 8099a61b64 [CI:DOCS] Fix typos and improve language
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-01-24 19:34:36 +01:00
OpenShift Merge Robot b75d6baf07
Merge pull request #12976 from patrycja-guzik/docs-labels
[CI:DOCS] Fix filter description and unify filters docs for containers/images prune
2022-01-24 09:30:23 -05:00
Erik Sjölund e68d188f64 [CI:DOCS] fix typo subpordinate
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-01-22 22:47:28 +01:00
Patrycja Guzik aff6a5af88 Fix filter description and unify filters docs for containers/images prune
Signed-off-by: Patrycja Guzik <patrycja.k.guzik@gmail.com>
2022-01-22 16:22:02 +01:00
Daniel J Walsh 5736649eb8
Run codespell on code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-01-21 09:52:12 -05:00
esendjer b9a2d8698a Handlers for `generate systemd` with custom dependencies
This commit includes:
* Handlers for generate systemd unit
  with manually defined dependencies such as:
  Wants=, After= and Requires=

* The new unit and e2e tests for checking generated systemd units
  for container and pod with custom dependencies

* Documented descriptions for custom dependencies options

Signed-off-by: Eugene (Evgenii) Shubin <esendjer@gmail.com>
2022-01-19 21:46:16 +05:00
Paul Holzinger c0e0723463
rename --cni-config-dir to --network-config-dir
Since this option will also be used for netavark we should rename it to
something more generic. It is important that --cni-config-dir still
works otherwise we could break existing container cleanup commands.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-01-18 19:28:25 +01:00
Erik Sjölund d6e55577cf [CI:DOCS] fix default branch links
* Replace https://github.com/containers/podman/blob/master
  with https://github.com/containers/podman/blob/main
  to match the new default branch "main". Previously
  the default branch was "master". The substitutions were
  made in the documentation but not the code.

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-01-15 20:56:19 +01:00
Erik Sjölund ab8a508489 [CI:DOCS] Fix typo in --env
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2022-01-15 12:50:03 +01:00
OpenShift Merge Robot 482e0b11d9
Merge pull request #12849 from cdoern/podProhibit
Prohibit --uid/gid map and --pod for container create/run
2022-01-14 13:08:17 +01:00
cdoern 6996830104 Prohibit --uid/gid map and --pod for container create/run
add a check in namespaceOptions() that ensures the user is not setting a new uid/gid map
if entering or creating a pod that has an infra container

resolves #12669

Signed-off-by: cdoern <cdoern@redhat.com>
2022-01-13 14:03:51 -05:00
OpenShift Merge Robot eeb76db0fd
Merge pull request #12642 from Luap99/libnetwork
use libnetwork from c/common
2022-01-13 18:06:54 +01:00
OpenShift Merge Robot ab7228b3c2
Merge pull request #12836 from cdoern/podSysCtl
Podman Pod Create --sysctl support
2022-01-13 16:44:52 +01:00
cdoern f257d98394 Podman Pod Create --sysctl support
added support for pod wide sysctls. The sysctls supported are the same as the continer run controls.

These controls are only valid if the proper namespaces are shared within the pod, otherwise only the infra ctr gets the sysctl

resolves #12747

Signed-off-by: cdoern <cdoern@redhat.com>
2022-01-12 20:49:04 -05:00
Paul Holzinger 0151e10b62
update buildah to latest and use new network stack
Make sure buildah uses the new network stack.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-01-12 17:40:12 +01:00
Daniel J Walsh fde6ad6373
Add --noout option to prevent the output of ids
Fixes: https://github.com/containers/podman/issues/11515

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-01-12 08:32:42 -05:00
Daniel J Walsh 6e208c2226
add additional fields to podman machine ls --json
[NO NEW TESTS NEEDED]

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-01-11 16:42:56 -05:00
Daniel J Walsh 8f2358eeaa
Add podman rm --depend
This option causes Podman to not only remove the specified containers
but all of the containers that depend on the specified
containers.
Fixes: https://github.com/containers/podman/issues/10360

Also ran codespell on the code

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-01-11 14:33:54 -05:00
Daniel J Walsh c085fb3c97
Pretty Print output of podman machine ls --format json
Make JSON more prominent in podman machine ls --help and man page.

[NO NEW TESTS NEEDED]

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-01-11 06:36:45 -05:00
Michael Hrivnak 37c0b27b6f [CI:DOCS] fixes indentation of example pod yaml
The example as previously shown would result in "Error: multi doc yaml
could not be split". The change here has been tested to work, and it
matches the example in the [kubernetes
docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables).

Signed-off-by: Michael Hrivnak <mhrivnak@hrivnak.org>
2022-01-07 19:54:25 -05:00
OpenShift Merge Robot d627528192
Merge pull request #11454 from afbjorklund/virtfs-volumes
Implement virtfs volumes for podman machine
2022-01-06 21:04:12 +01:00
OpenShift Merge Robot 50e156b605
Merge pull request #12208 from cdoern/podSecurityOpt
Pod Security Option support and Infra Inheritance changes
2022-01-05 17:56:36 +01:00
Pavel Dostál 32e845028a
Fix wrong 'podman search --format' placeholder
Signed-off-by: Pavel Dostál <pdostal@suse.cz>
2022-01-04 17:04:19 +01:00
OpenShift Merge Robot aaf90c5596
Merge pull request #12611 from Luap99/ipv6
add --ip6 flag to podman create/run
2022-01-03 18:42:12 +01:00
Paul Holzinger c496001d03
add --ip6 flag to podman create/run
Add the --ipv6 flag to podman create/run and pod create. We support the
--network name:ip6=<ip> syntax now but for docker compat we should also
support the --ip6 flag.
Note that there is no validation if the ip is actually a v6 or v4 address
because the backend does not care either.

Fixes #7511

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2022-01-03 14:26:34 +01:00
Anders F Björklund 6630e5cf66 Make it possible to select the volume driver
Use the same type of mounts for all the machine volumes.

The default could change in the future, depending on OS.

[NO NEW TESTS NEEDED]

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2021-12-30 13:47:16 +01:00
Anders F Björklund 8e7eeaa4dd Implement virtfs volumes for podman machine
Allow using the built-in 9pfs feature of qemu,
mounting host directories into vm mountpoints.

The volumes are generic, the mounts are specific.

Wait for the machine to be "running", otherwise
the SSH function might throw an error instead.

Increase the default msize from 8 KiB to 128 KiB

[NO NEW TESTS NEEDED]

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2021-12-30 13:36:56 +01:00
cdoern 289270375a Pod Security Option support
Added support for pod security options. These are applied to infra and passed down to the
containers as added (unless overridden).

Modified the inheritance process from infra, creating a new function Inherit() which reads the config, and marshals the compatible options into an intermediate struct `InfraInherit`
This is then unmarshaled into a container config and all of this is added to the CtrCreateOptions. Removes the need (mostly) for special additons which complicate the Container_create
code and pod creation.

resolves #12173

Signed-off-by: cdoern <cdoern@redhat.com>
2021-12-27 13:39:36 -05:00
Aditya Rajan 410082f25f
docs: sort swagger operations alpabetically
Use `sort-operations-alphabetically` to sort swagger operations
alphabetically

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

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-12-27 12:53:52 +05:30
OpenShift Merge Robot 73a54ea54d
Merge pull request #12627 from rhatdan/passwd
Allow users to add host user accounts to /etc/passwd
2021-12-23 19:28:08 +01:00
OpenShift Merge Robot 5570b5b975
Merge pull request #12679 from vrothberg/fix-12671
clarify `io.podman.annotations.seccomp`
2021-12-23 15:14:10 +01:00
Daniel J Walsh e8c06fac97
Allow users to add host user accounts to /etc/passwd
Some containers require certain user account(s) to exist within the
container when they are run. This option will allow callers to add a
bunch of passwd entries from the host to the container even if the
entries are not in the local /etc/passwd file on the host.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-12-23 07:51:27 -05:00
OpenShift Merge Robot a7f1c05366
Merge pull request #12692 from giuseppe/fix-additional-ids-doc
[CI:DOCS] docs: document rootless userns mappings
2021-12-23 13:46:10 +01:00
Valentin Rothberg cbcab43425 [CI:DOCS] clarify `io.podman.annotations.seccomp`
Clarify the semantics of the `io.podman.annotations.seccomp` annotation
which is set when a container has been created with a custom seccomp
profile.

Fixes: #12671
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-23 13:40:46 +01:00
Adrian Reber d669dbfb9f
Error out early if system does not support pre-copy checkpointing
CRIU's pre-copy migration support relies on the soft dirty page tracking
in the Linux kernel:

 https://www.kernel.org/doc/Documentation/vm/soft-dirty.txt

This functionality is not implemented for all architectures and it can
also be turned off in the kernel.

CRIU can check if the combination of architecture/kernel/CRIU supports
the soft dirty page tracking and exports this feature checking
functionality in go-criu.

This commit adds an early check if the user selects pre-copy
checkpointing to error out if the system does not support it.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-12-23 09:51:38 +00:00
Giuseppe Scrivano cb4f498e4f
[CI:DOCS] docs: document rootless userns mappings
document how the host IDs are mapped inside the rootless user
namespace.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-12-23 09:32:49 +01:00
OpenShift Merge Robot 85f21fb2bd
Merge pull request #12664 from cdoern/noManagePasswd
Podman run --passwd
2021-12-22 12:09:56 +01:00
cdoern 20ce6e5c60 Podman run --passwd
added support for a new flag --passwd which, when false prohibits podman from creating entries in
/etc/passwd and /etc/groups allowing users to modify those files in the container entrypoint

resolves #11805

Signed-off-by: cdoern <cdoern@redhat.com>
2021-12-21 17:19:41 -05:00
OpenShift Merge Robot f3d6672c7d
Merge pull request #12662 from adrianreber/2021-12-20-checkpoint-restore-man-pages
[CI:DOCS] Small checkpoint/restore man page fixes
2021-12-21 14:46:20 +01:00
Adrian Reber bb096c3bf2 [CI:DOCS] Small checkpoint/restore man page fixes
At some places the checkpoint restore man pages were using the markdown
modifier `**` inside `*..*`. This does not seem to work as intended and
results in markdown modifiers present in the final man page. Switching
to `__` inside of `*..*` seems to fix this.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-12-20 15:38:33 +00:00
Adrian Reber 1ddb49c66d [CI:DOCS] Explicitly mention that checkpointing systemd containers might fail
Checkpoint a container using systemd as entrypoint will probably result
in an error as CRIU cannot handle all the resources latest systemd uses.

This updates the checkpoint man page with this information.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-12-20 15:37:32 +00:00
Brent Baude a86495ea6f Set machine timezone
Added an option to podman machine init to declare the timezone of the
resulting machine.  the default is to use the value of the host name or
else a given timezone name like America/Chicago.

Fixes: #11895

Signed-off-by: Brent Baude <bbaude@redhat.com>

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-12-16 12:40:20 -06:00
OpenShift Merge Robot 9212c74ff1
Merge pull request #12600 from rhatdan/external
Show --external containers even without --all option
2021-12-15 15:43:11 +01:00
OpenShift Merge Robot 7dabcbd7bc
Merge pull request #12534 from Luap99/network-db
network db rewrite
2021-12-15 15:25:14 +01:00
Daniel J Walsh 51a4bef2e6
Show --external containers even without --all option
We currently do not show --external containers when the user specifies
it, unless they also specify the --all flag. This has led to confusion.
I see no reason not to list them without the --all flag if the user
specifies the option.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-12-14 16:03:21 -05:00
Paul Holzinger 3e9af2029f
play kube add support for multiple networks
Allow the same --network options for play kube as for podman run/create.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:40 +01:00
Paul Holzinger 535818414c
support advanced network configuration via cli
Rework the --network parse logic to support multiple networks with
specific network configuration settings.
--network can now be set multiple times. For bridge network mode the
following options have been added:
  - **alias=name**: Add network-scoped alias for the container.
  - **ip=IPv4**: Specify a static ipv4 address for this container.
  - **ip=IPv6**: Specify a static ipv6 address for this container.
  - **mac=MAC**: Specify a static mac address address for this container.
  - **interface_name**: Specify a name for the created network interface inside the container.

So now you can set --network bridge:ip=10.88.0.10,mac=44:33:22:11:00:99
for the default bridge network as well as for network names.
This is better than using --ip because we can set the ip per network
without any confusion which network the ip address should be assigned
to.
The --ip, --mac-address and --network-alias options are still supported
but --ip or --mac-address can only be set when only one network is set.
This limitation already existed previously.

The ability to specify a custom network interface name is new
Fixes #11534

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:39 +01:00
Paul Holzinger 4791595b5c
network connect allow ip, ipv6 and mac address
Network connect now supports setting a static ipv4, ipv6 and mac address
for the container network. The options are added to the cli and api.

Fixes #9883

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-14 15:23:39 +01:00
Jakub Guzik 50501f49a3 Add secret list --filter to cli
This PR is a follow-up of #11431. It adds possibility of filtering
secret list based on id and name.

Signed-off-by: Jakub Guzik <jguzik@redhat.com>
2021-12-14 10:41:03 +01:00
OpenShift Merge Robot a50502dd3d
Merge pull request #12489 from mtrmac/save-me-from-repetition
Improve documentation of (podman image save)
2021-12-03 14:56:46 +01:00
Ondra Machacek c9ad1da51c Add restart-sec option to systemd generate
Signed-off-by: Ondra Machacek <omachace@redhat.com>
2021-12-03 12:11:28 +01:00
Miloslav Trmač 2e132d1d43 Fix documentation of (podman image save --compress --uncompressed)
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-02 22:29:16 +01:00
Miloslav Trmač 952046ffdd Improve documentation of (podman image save --format)
- Don't pointlessly repeat the names
- Improve documentation of the formats
- Use a table, per MANPAGE_SYNTAX.md

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2021-12-02 22:28:30 +01:00
OpenShift Merge Robot b41026aec7
Merge pull request #12469 from Luap99/ns-teardown-flake
Fix possible rootless netns cleanup race
2021-12-02 14:40:48 +01:00
OpenShift Merge Robot 5d91edc78d
Merge pull request #12450 from giuseppe/compression-format
podman, push: expose --compression-format
2021-12-01 21:01:15 +01:00
Paul Holzinger 3ff47748de
Fix possible rootless netns cleanup race
rootlessNetNS.Cleanup() has an issue with how it detects if cleanup
is needed, reading the container state is not good ebough because
containers are first stopped and than cleanup will be called. So at one
time two containers could wait for cleanup but the second one will fail
because the first one triggered already the cleanup thus making rootless
netns unavailable for the second container resulting in an teardown
error. Instead of checking the container state we need to check the
netns state.

Secondly, podman unshare --rootless-netns should not do the cleanup.
This causes more issues than it is worth fixing. Users also might want
to use this to setup the namespace in a special way. If unshare also
cleans this up right away we cannot do this.

[NO NEW TESTS NEEDED]

Fixes #12459

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-12-01 19:19:44 +01:00
Giuseppe Scrivano 6673ff78d3
podman, push: expose --compression-format
support overriding the compression format at push time.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-12-01 09:39:03 +01:00
Valentin Rothberg 9a10e2124b systemd: replace multi-user with default.target
Replace `multi-user.target` with `default.target` across the code base.
It seems like the multi-user one is not available for (rootless) users
on F35 anymore is causing issues in all kinds of ways, for instance,
enabling the podman.service or generated systemd units.

Fixes: #12438
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-30 14:37:25 +01:00
Daniel J Walsh f330c197bd
List /etc/containers/certs.d as default for --cert-path
Helps Document https://github.com/containers/podman/issues/10116

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-29 10:42:27 -05:00
Jakub Dzon dd80635df0 Support env variables based on ConfigMaps sent in payload
Fixes #12363

Signed-off-by: Jakub Dzon <jdzon@redhat.com>
2021-11-23 11:40:28 +01:00
Valentin Rothberg 566b78dd02 generate systemd: add --start-timeout flag
Add a new flag to set the start timeout for a generated systemd unit.
To make naming consistent, add a new --stop-timeout flag as well and let
the previous --time map to it.

Fixes: #11618
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-23 09:38:51 +01:00
OpenShift Merge Robot 0b7c132d9f
Merge pull request #12301 from umohnani8/table
Add note about volume with unprivileged container
2021-11-22 21:52:31 +01:00
Urvashi Mohnani 2ab28140d6 [CI:DOCS] Update notes on java TZ in man page
Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2021-11-22 12:28:35 -05:00
OpenShift Merge Robot 55dbc4e198
Merge pull request #12373 from TomSweeneyRedHat/dev/tsweeney/jdoc
[CI:DOCS] Add java TZ note to run manpage
2021-11-22 17:54:13 +01:00
Urvashi Mohnani a8b3c67b97 Add note about volume with unprivileged container
Add a note to the generated kube yaml if we detect a
volume is being mounted. The note lets the user know
what needs to be done to avoid permission denied error
when trying to access the volume for an unprivileged
container.
Add the same note to the man pages.

NO NEW TESTS NEEDED

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2021-11-21 19:44:26 -05:00
TomSweeneyRedHat d068997694 [CI:DOCS] Add java TZ note to run manpage
Add a note to show how to workaround the `--tz` option
being ignored in the run command.

Related to: https://bugzilla.redhat.com/show_bug.cgi?id=1984251

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2021-11-19 20:38:55 -05:00
Adrian Reber c76caba367
Use same runtime to restore a container as during checkpointing
There are at least two runtimes that support checkpoint and restore:
runc and crun. Although the checkpoints created by these are almost
compatible, it is not (yet) possible to restore a checkpoint created
with one runtime with the other runtime. To make checkpoint/restore
usage more comfortable this adds code to look into the checkpoint
archive during restore and to set the runtime to the one used during
checkpointing.

This also adds a check, if the user explicitly sets a runtime during
restore, that the runtime is also the same as used during checkpointing.

If a different runtime is selected than the one used during
checkpointing the restore will fail early.

If runc and crun will create compatible checkpoints in the future the
check can be changed to treat crun and runc as compatible
checkpoint/restore runtimes.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-11-19 17:46:06 +00:00
OpenShift Merge Robot 319d3fba6d
Merge pull request #12354 from Luap99/exit-command
Do not store the exit command in container config
2021-11-18 23:51:12 +01:00
OpenShift Merge Robot 82a050a58f
Merge pull request #12298 from giuseppe/idmapped-bind-mounts
volumes: add new option idmap
2021-11-18 22:01:15 +01:00
Paul Holzinger 0dae50f1d3
Do not store the exit command in container config
There is a problem with creating and storing the exit command when the
container was created. It only contains the options the container was
created with but NOT the options the container is started with. One
example would be a CNI network config. If I start a container once, then
change the cni config dir with `--cni-config-dir` ans start it a second
time it will start successfully. However the exit command still contains
the wrong `--cni-config-dir` because it was not updated.

To fix this we do not want to store the exit command at all. Instead we
create it every time the conmon process for the container is startet.
This guarantees us that the container cleanup process is startet with
the correct settings.

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-11-18 20:28:03 +01:00
Radostin Stoyanov 6d23ea60d2
Add --file-locks checkpoint/restore option
CRIU supports checkpoint/restore of file locks. This feature is
required to checkpoint/restore containers running applications
such as MySQL.

Signed-off-by: Radostin Stoyanov <radostin@redhat.com>
2021-11-18 19:23:25 +00:00
Giuseppe Scrivano e83d366651
volumes: add new option idmap
pass down the "idmap" mount option to the OCI runtime.

Needs: https://github.com/containers/crun/pull/780

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

[NO NEW TESTS NEEDED] there is no crun version yet that support the
new feature.

Test case (must run as root):

podman run --rm -v foo:/foo alpine touch /foo/bar

podman run --uidmap 0:1:1000 --rm -v foo:/foo:idmap alpine ls -l /foo
total 0
-rw-r--r--    1 root     root             0 Nov 15 14:01 bar

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-11-18 17:01:06 +01:00
Valentin Rothberg fceecc3a5b remote checkpoint/restore: more fixes
* Support `checkpoint --pre-checkpoint`

* Support `checkpoint --with-previous`

* Disable `restore --import-previous` for the remote client since we had
  to send two files which in turn would require to tar them up and hence
  be a breaking change.  Podman 4.0 would be the chance and I hope we'll
  find time before that to remote-restore prettier.

Note that I did not run over swagger yet to check whether all parameters
are actually documented due to time constraints.

Fixes: #12334
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-18 16:52:15 +01:00
Daniel J Walsh 44d1618dd7
Add --unsetenv & --unsetenv-all to remove def environment variables
Podman adds a few environment variables by default, and
currently there is no way to get rid of them from your container.
This option will allow  you to specify which defaults you don't
want.

--unsetenv-all will remove all default environment variables.

Default environment variables can come from podman builtin,
containers.conf or from the container image.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-15 15:10:12 -05:00
OpenShift Merge Robot e9d8ca22b8
Merge pull request #11076 from boaz0/closes_10275
Support template unit files in podman generate systemd
2021-11-15 16:30:38 +01:00
Adrian Reber 914f4c8905
Update man pages for checkpoint/restore --print-stats
This commit updates the man pages for checkpoint and restore to describe
the '--print-stats' parameter.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-11-15 11:50:25 +00:00
OpenShift Merge Robot 8f3fb743ee
Merge pull request #12270 from rhatdan/auth
--authfile command line argument for image sign command.
2021-11-13 13:10:48 +01:00
OpenShift Merge Robot 0aecacb865
Merge pull request #12224 from cdoern/scp
Podman Image SCP transfer patch
2021-11-12 18:44:44 +01:00
cdoern ac38eca3fd Podman Image SCP transfer patch
Fixed syntax so that podman image scp transfer works with no user specified.
This command can only be executed as root so to obtain the default user, I searched for
the SUDO_USER environmental variable. If that is not found, we error out and inform the user
to set this variable and make sure they are running as root

Signed-off-by: cdoern <cdoern@redhat.com>
Signed-off-by: cdoern <cbdoer23@g.holycross.edu>
2021-11-11 20:14:38 -05:00
José Guilherme Vanz 6762d5e238
--authfile command line argument for image sign command.
Adds the --authfile command line argument to allow users to use
alternative authfile paths when signing images.

Replaces: https://github.com/containers/podman/pull/10975
Fixes: https://github.com/containers/podman/issues/10866

Signed-off-by: José Guilherme Vanz <jvanz@jvanz.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-11 15:11:19 -05:00
OpenShift Merge Robot d5b411c484
Merge pull request #12193 from yahavi/patch-1
[CI:DOCS] Fix Zsh completion command documentation
2021-11-11 16:17:41 +01:00
OpenShift Merge Robot 9dddc47d28
Merge pull request #12258 from edsantiago/xref_manpages_see_also
[CI:DOCS] Add CI check for SEE ALSO in man pages
2021-11-10 22:53:36 +01:00
OpenShift Merge Robot 4bf0146c29
Merge pull request #12255 from vrothberg/fix-11970
podman load: support downloading files
2021-11-10 18:27:39 +01:00
Ed Santiago 6236be4ff9 [CI:DOCS] Add CI check for SEE ALSO in man pages
Add new CI check to confirm that links and references
in SEE ALSO sections are properly formatted and that
links are valid (at least in theory: we do no actual
URL fetching to test for 404).

The check is piggybacked into existing xref-helpmsgs-manpages
script. It could conceivably be more elegant to write a
separate tool for this purpose, but I don't wish to duplicate
the logic for finding and reading markdown files.

Script identified various problems, which I fix in this PR:

  . missing '**' (asterisks) around some references, or '**'
    in the wrong place.

  . links pointing to github.com/.../tree/ instead of /blob/
    (github redirects those automatically, but I like
    consistency)

  . a few copy-paste errors, e.g. subgid linking to subuid.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-11-10 09:03:40 -07:00
Valentin Rothberg 1ef66d6d7f podman load: support downloading files
Support downloading files, for instance via
`podman load -i server.com/image.tar`.  The specified URL is downloaded
in the frontend and stored as a temp file that gets passed down to the
backend.

Also vendor in c/common@main to use the new `pkg/download`.

Fixes: #11970
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-10 15:43:16 +01:00
Daniel J Walsh 2720156fa5
Add links to all SEE ALSO sections
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-10 09:29:21 -05:00
Yahav Itzhak 8a9da76989 Fix Zsh completion command documentation
Signed-off-by: yahavi <yahavi@jfrog.com>
2021-11-09 09:08:30 +02:00
Daniel J Walsh 7225ddb5b1
Add links to podman build,run, create see also
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-08 21:03:18 -05:00
OpenShift Merge Robot 22ef488d24
Merge pull request #12213 from flouthoc/system-connection-rm-all
system: Adds support for removing all named destination via `--all`
2021-11-08 16:50:59 +01:00
OpenShift Merge Robot c9ba1fb7d4
Merge pull request #11958 from cdoern/scp
Podman Image SCP rootful to rootless transfer
2021-11-08 16:19:57 +01:00
Aditya Rajan 338eb9d75e
system: Adds support for removing all named destination via --all
Adds support of dropping all named destination from system connections via `--all`.

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

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-11-08 19:42:45 +05:30
Daniel J Walsh 4e8bf8be4b
Add some information about disabling SELinux when using system volumes
A comment was made on internal mailing list about confusion on SELinux
labeling of volumes. This PR makes it a little more clear about when
you should or should not relabel.

We need a similar comment in podman pod create, but it does not support
--security-opt processing yet.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-06 05:47:52 -04:00
cdoern ffa5ed0e0e Podman Image SCP rootful to rootless transfer
Added functionality for users to transfer images from root storage to rootless storage without using sshd. This is
done through rootful podman by running `sudo podman image scp root@localhost::image user@localhost:: the user is needed
in order to find and use their uid/gid to exec a new process.

added necessary tests, and functions for this implementation. Created new image function Transfer so that
the underlying code is majorly removed from CLI

Signed-off-by: cdoern <cdoern@redhat.com>
2021-11-05 12:04:20 -04:00
Paul Holzinger 7f433df7e7
rename rootless cni ns to rootless netns
Since we want to use the rootless cni ns also for netavark we should
pick a more generic name. The name is now "rootless network namespace"
or short "rootless netns".

The rename might cause some issues after the update but when the
all containers are restarted or the host is rebooted it should work
correctly.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-11-05 15:44:37 +01:00
OpenShift Merge Robot 85bad0cc7c
Merge pull request #12119 from ashley-cui/updates
[CI:DOCS] Add information on how podman machine is updated
2021-10-30 14:44:43 +00:00
Giacomo Sanchietti 9fc98f265a
Fix pause usage example
The page contains a wrong 'stop' command example.

Signed-off-by: Giacomo Sanchietti <giacomo.sanchietti@nethesis.it>
2021-10-29 14:24:10 +02:00
Ashley Cui 3c79202fb9 Add information on how podman machine is updated
Update documentation on how the default podman machine distribution,
FCOS, is updated.

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-10-28 09:43:00 -04:00
Giuseppe Scrivano 4e9e6f21ff
volumes: allow more options for devpts
allow to pass down more options that are supported by the kernel.

Discussion here: https://github.com/containers/toolbox/issues/568

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-10-28 15:30:06 +02:00
Valentin Rothberg 75f478c08b pod create: remove need for pause image
So far, the infra containers of pods required pulling down an image
rendering pods not usable in disconnected environments.  Instead, build
an image locally which uses local pause binary.

Fixes: #10354
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-10-26 13:51:45 +02:00
Daniel J Walsh acd8b49000
Add support to play kube for --log-opt
Fixes: https://github.com/containers/podman/issues/11727

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-25 11:40:42 -04:00
Stefan Weil 22270fb845 Replace 'an user' => 'a user'
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-10-24 22:27:39 +02:00
OpenShift Merge Robot 54c630aa0a
Merge pull request #12061 from dancerj/typo
[CI:DOCS] fuse-overlay probably means fuse-overlayfs.
2021-10-22 14:28:45 +00:00
OpenShift Merge Robot 833d92d709
Merge pull request #12021 from rhatdan/kube
Generate Kube should not print default structs
2021-10-22 14:12:44 +00:00
Junichi Uekawa ce4ed7d133 fuse-overlay probably means fuse-overlayfs.
fuse-overlayfs is usually the package name.

Signed-off-by: Junichi Uekawa <dancer@debian.org>
2021-10-22 13:41:58 +09:00
Boaz Shuster ece0c7e5d3 Support template unit files in podman generate systemd
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
2021-10-22 04:19:18 +03:00
Daniel J Walsh 8e3760c29f
Remove --kernel-memory options
Kernel memory option has been depracated in runtime-spec,  It is
believed that it will not work properly on certain kernels.  runc
ignores it.

This PR removes documentation of the flag and also prints a warning if
a user uses it.

[NO NEW TESTS NEEDED]

Helps Fix: https://github.com/containers/podman/issues/12045

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-21 13:29:44 -04:00
OpenShift Merge Robot eba281c3e0
Merge pull request #11851 from cdoern/podRm
Pod Rm Infra Handling Improvements
2021-10-20 13:20:12 +00:00
Daniel J Walsh c3801f0fa9
Add information on how to discover default log driver
Fixes: https://github.com/containers/podman/issues/12008

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-19 13:55:30 -04:00
Daniel J Walsh 517b56b02d
Generate Kube should not print default structs
If podman uses Workdir="/" or the workdir specified in the image, it
should not add it to the yaml.
If Podman find environment variables in the image, they should not
get added to the yaml.

If the container or pod do not have changes to SELinux we should not
print seLinuxOpt{}

If the container or pod do not change any dns options the yaml should
not have a dnsOption={}

If the container is not privileged it should not have privileged=false
in the yaml.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-19 08:31:35 -04:00
Daniel J Walsh 34dcbc9491
Change podman connection list to use default field
Stop using "*" to indicate default.  Add default field to make
it more obvios and the json field more machine usable.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-18 16:52:52 -04:00
cdoern 4f7a431daf Pod Rm Infra Improvements
Made changes so that if the pod contains all exited containers and only infra is running, remove the pod.

resolves #11713

Signed-off-by: cdoern <cdoern@redhat.com>
2021-10-18 11:39:12 -04:00
Daniel J Walsh 4f857bc106
If CONTAINER_HOST env variable is set default podman --remote=true
Users enabling CONTAINER_HOST==PATH is indicating to podman they intend
to use remote functionality.

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

Update man pages to document all of the environment variables.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-14 17:08:48 -04:00
Daniel J Walsh 7112a4159b
Fix codespell errors
Along with a couple of nits found by Ed.

[NO NEW TESTS NEEDED]

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-14 08:44:09 -04:00
OpenShift Merge Robot c19f257181
Merge pull request #11898 from rhatdan/docs
[CI:DOCS] Add information about .containerignore to podman build man page
2021-10-14 12:55:35 +02:00
OpenShift Merge Robot 1c156f2267
Merge pull request #11948 from rhatdan/codespell
codespell code
2021-10-13 14:46:00 +02:00
Valentin Rothberg 14bfee31f7 podman search: display only name and description by default
Change the default format of `podman search` to only display the name
and the description of each image.  The index is redundant to the name
and consumes a lot of space, and other descriptors (i.e., stars,
official, automated) are specific to Docker Hub and also consume a lot
space.  Users can still use `--format` for displaying the descriptors
they want to.

Add a `--compatible` flag to offer an easy way to get them back.

Also update the man page to account for the behavior and get some fresh
data in the examples.

Motivated by a recent conversation in libimage:
https://github.com/containers/common/pull/802#issuecomment-937108734

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-10-13 10:13:24 +02:00
Daniel J Walsh 8600bce53a
codespell code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-12 16:44:25 -04:00
Daniel J Walsh 7b1e386f7c
Add information about .containerignore to podman build man page
Cleanup some other errors in the podman build man page.

Also slip a link between .dockerignore and containerignore.5 man page

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-12 16:42:07 -04:00
Jhon Honce b28a8bc198 Refactor podman search to be more code friendly
* JSON and API description fields are no longer truncated. Formatting
  moved to client, better support of MVP.
* --no-trunc now defaults to true
* Updated tests for changes

Closes #11894

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-10-12 09:30:40 -07:00
OpenShift Merge Robot dd9c9172af
Merge pull request #11889 from cevich/multiarch_docs
[CI:DOCS] Include manifest example usage
2021-10-11 19:49:10 +02:00
Chen Zhiwei 6fc73ea4ea [CI:DOCS] introduce --replace flag for play kube
With this flag, users can easily sync up the yaml content with the existing pods.

Fixes #11481

Signed-off-by: Chen Zhiwei <zhiweik@gmail.com>
2021-10-08 10:14:35 +08:00
Chris Evich 0479fd8d6a
[CI:DOCS] Include manifest example usage
Fixes #8872

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-10-07 13:04:03 -04:00
Daniel J Walsh a487a63824
Change podman.1 man page to show corret log-level default
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-07 08:44:48 -04:00