Commit graph

2671 commits

Author SHA1 Message Date
OpenShift Merge Robot
141ba94f97
Merge pull request #10221 from ashley-cui/envsec
Add support for environment variable secrets
2021-05-07 05:34:26 -04:00
OpenShift Merge Robot
034470e5be
Merge pull request #9689 from boaz0/boaz-1
add restart-policy to container filters & --filter to podman start
2021-05-06 14:50:26 -04:00
Ashley Cui
2634cb234f Add support for environment variable secrets
Env var secrets are env vars that are set inside the container but not
commited to and image. Also support reading from env var when creating a
secret.

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-05-06 14:00:57 -04:00
OpenShift Merge Robot
d6000a0b86
Merge pull request #10246 from zhangguanzhang/compose-static-ip
Fixes docker-compose cannot set static ip when use ipam
2021-05-06 09:16:04 -04:00
Boaz Shuster
efdc7d8465 Add restart-policy to container filters & --filter to podman start
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
2021-05-06 14:35:15 +03:00
zhangguanzhang
c0de4a4d70 Fixes docker-compose cannot set static ip when use ipam
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2021-05-06 19:25:27 +08:00
Daniel J Walsh
0d1ebc180e
codespell cleanup
[NO TESTS NEEDED] This is just running codespell on podman

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-05 15:50:59 -04:00
OpenShift Merge Robot
404bc2684e
Merge pull request #10185 from rhatdan/volume
Add filepath glob support to --security-opt unmask
2021-05-05 15:38:11 -04:00
OpenShift Merge Robot
dbc4a5d85b
Merge pull request #10220 from giuseppe/rm-volatile
podman: set volatile storage flag for --rm containers
2021-05-05 14:28:10 -04:00
Giuseppe Scrivano
68fe1950fe
podman: set volatile storage flag for --rm containers
volatile containers are a storage optimization that disables *sync()
syscalls for the container rootfs.

If a container is created with --rm, then automatically set the
volatile storage flag as anyway the container won't persist after a
reboot or machine crash.

[NO TESTS NEEDED]

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-05-05 17:58:39 +02:00
OpenShift Merge Robot
120e1b78ef
Merge pull request #10208 from Luap99/play-kube-mac
add --mac-address to podman play kube
2021-05-05 10:10:16 -04:00
Valentin Rothberg
0f7d54b026 migrate Podman to containers/common/libimage
Migrate the Podman code base over to `common/libimage` which replaces
`libpod/image` and a lot of glue code entirely.

Note that I tried to leave bread crumbs for changed tests.

Miscellaneous changes:

 * Some errors yield different messages which required to alter some
   tests.

 * I fixed some pre-existing issues in the code.  Others were marked as
   `//TODO`s to prevent the PR from exploding.

 * The `NamesHistory` of an image is returned as is from the storage.
   Previously, we did some filtering which I think is undesirable.
   Instead we should return the data as stored in the storage.

 * Touched handlers use the ABI interfaces where possible.

 * Local image resolution: previously Podman would match "foo" on
   "myfoo".  This behaviour has been changed and Podman will now
   only match on repository boundaries such that "foo" would match
   "my/foo" but not "myfoo".  I consider the old behaviour to be a
   bug, at the very least an exotic corner case.

 * Futhermore, "foo:none" does *not* resolve to a local image "foo"
   without tag anymore.  It's a hill I am (almost) willing to die on.

 * `image prune` prints the IDs of pruned images.  Previously, in some
   cases, the names were printed instead.  The API clearly states ID,
   so we should stick to it.

 * Compat endpoint image removal with _force_ deletes the entire not
   only the specified tag.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-05 11:30:12 +02:00
Daniel J Walsh
4fd1965ab4
Add filepath glob support to --security-opt unmask
Want to allow users to specify --security-opt unmask=/proc/*.
This allows us to run podman within podman more securely, then
specifing umask=all, also gives the user more flexibilty.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-04 14:40:43 -04:00
Paul Holzinger
fb7d16c7a8 add --mac-address to podman play kube
Add a new --mac-address flag to podman play kube. This is used to specify
a static MAC address which should be used for the pod. This option can be
specified several times because play kube can create more than one pod.

Fixes #9731

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-05-04 20:14:13 +02:00
Boaz Shuster
a726a3d79c Add --all to podman start
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
Co-authored-by: Ed Santiago <santiago@redhat.com>
2021-05-03 22:17:06 +03:00
OpenShift Merge Robot
c01b1cbfcd
Merge pull request #10170 from ashley-cui/machineone
[NO TESTS NEEDED] Check if another VM is running on machine start
2021-04-29 09:52:14 -04:00
Ashley Cui
53057d5c20 Check if another VM is running on machine start
Only one VM can be up at a time. If another VM is running, or the current VM is running, error out on a podman machine start

[NO TESTS NEEDED]

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-04-28 15:09:10 -04:00
Daniel J Walsh
3538815c5b
Add podman run --timeout option
This option allows users to specify the maximum amount of time to run
before conmon sends the kill signal to the container.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-23 11:18:05 -04:00
Paul Holzinger
ca4f6ec1db Parse slirp4netns net options with compat api
Parse the slirp4netns network options when called via compat api. The
options must be extracted from the NetworkMode string.

Fixes #10110

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-04-23 11:48:50 +02:00
OpenShift Merge Robot
8465626e31
Merge pull request #10099 from Luap99/format-completion
Add go template shell completion for --format
2021-04-22 09:56:28 -04:00
OpenShift Merge Robot
21c77846e4
Merge pull request #9495 from rhatdan/groups
Add '--group-add keep-groups': supplementary groups into container
2021-04-22 09:29:28 -04:00
Paul Holzinger
d81021ed26 Add go template shell completion for --format
The --format flags accepts go template strings. I use this often but I
consistently forget the field names. This commit adds a way to provide
shell completion for the --format flag. It works by automatically
receiving the field names with the reflect package from the given
struct. This requires almost no maintenance since this ensures that we
always use the correct field names. This also works for nested structs.

```
$ podman ps --format "{{.P"
{{.Pid}}      {{.PIDNS}}    {{.Pod}}      {{.PodName}}  {{.Ports}}
```

NOTE: This only works when you use quotes otherwise the shell does not
provide completions. Also this does not work for fish at the moment.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-04-22 00:31:08 +02:00
Daniel J Walsh
e356160f41
Add --group-add keep-groups: suplimentary groups into container
Currently we have rootless users who want to leak their groups access
into containers, but this group access is only able to be pushed in by
a hard to find OCI Runtime annotation.  This PR makes this option a lot
more visable and hides the complexity within the podman client.

This option is only really needed for local rootless users. It makes
no sense for remote clients, and probably makes little sense for
rootfull containers.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-21 13:28:36 -04:00
OpenShift Merge Robot
897f6c3a4a
Merge pull request #10088 from rhatdan/no-headers
Add --noheading flag to all list commands
2021-04-21 13:20:36 -04:00
Daniel J Walsh
9c8277247d
Fixes from make codespell
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-21 13:16:33 -04:00
Daniel J Walsh
8ebeadc3c6
Add --noheading flag to all list commands
Currently we have only podman images list --noheading.
This PR Adds this option to volumes, containers, pods, networks,
machines, and secrets.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-21 05:22:29 -04:00
Daniel J Walsh
659dc7843c
podman-remote should show podman.sock info
Currently podman-remote info does not show socket information.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-20 15:56:45 -04:00
OpenShift Merge Robot
a94360a3f7
Merge pull request #10041 from chenk008/add_pidfile_flag
Add flag "--pidfile" for podman create/run
2021-04-19 16:22:05 -04:00
OpenShift Merge Robot
676c33f079
Merge pull request #10043 from Luap99/play-kube-ip
add --ip to podman play kube
2021-04-17 05:52:51 -04:00
chenkang
f331c9445f
hide conmon-pidfile flag on remote mode
Signed-off-by: chenkang <kongchen28@gmail.com>
2021-04-16 23:10:19 +08:00
OpenShift Merge Robot
4c88035f09
Merge pull request #10021 from zhangguanzhang/invalid-save-expression
Fix invalid expression in save command
2021-04-16 04:28:14 -04:00
Paul Holzinger
d7292dbf27 add --ip to podman play kube
Add a new --ip flag to podman play kube. This is used to specify a
static IP address which should be used for the pod. This option can be
specified several times because play kube can create more than one pod.

Fixes #8442

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-04-16 09:55:03 +02:00
chenkang
e16200ac9f
add flag autocomplete
Signed-off-by: chenkang <kongchen28@gmail.com>
2021-04-16 15:52:59 +08:00
wuhua.ck
8fbe06b8cb add flag "--pidfile" for podman create/run
Signed-off-by: chenkang <kongchen28@gmail.com>
2021-04-16 13:43:14 +08:00
Nalin Dahyabhai
6bde4d00dd At trace log level, print error text using %+v instead of %v
If we're logging at trace level, use %+v instead of %v when printing an
error at exit.  If the error included stack information, this will cause
the backtrace to be printed, which is very handy for debugging.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2021-04-14 13:45:36 -04:00
Nalin Dahyabhai
39a1f3a04f Recognize --log-level=trace
"trace" is a valid logrus debugging level, so we should be able to tell
the library to display messages logged at that level.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2021-04-14 13:45:36 -04:00
zhangguanzhang
6bec101041 Fixes invalid expression in save command
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2021-04-14 17:32:48 +08:00
OpenShift Merge Robot
9d3e310710
Merge pull request #9935 from EduardoVega/5788-kube-volume
Add support for play/generate kube PersistentVolumeClaims and Podman volumes
2021-04-12 12:36:20 +02:00
OpenShift Merge Robot
3b03ff7d1e
Merge pull request #9950 from Luap99/unshare-rootless-cni
podman unshare: add --rootless-cni to join the ns
2021-04-12 12:33:20 +02:00
Eduardo Vega
61cb6d61dd Add support for play/generate kube volumes
Signed-off-by: Eduardo Vega <edvegavalerio@gmail.com>
2021-04-09 14:01:13 -06:00
Anders F Björklund
02644eac0d Fix panic when not giving a machine name for ssh
Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2021-04-09 17:58:01 +02:00
Paul Holzinger
0a39ad196c podman unshare: add --rootless-cni to join the ns
Add a new --rootless-cni option to podman unshare to also join the
rootless-cni network namespace. This is useful if you want to connect
to a rootless container via IP address. This is only possible from the
rootless-cni namespace and not from the host namespace. This option also
helps to debug problems in the rootless-cni namespace.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-04-07 15:54:12 +02:00
OpenShift Merge Robot
d83f49ef6b
Merge pull request #9754 from mheon/add_dep
Add --requires flag to podman run/create
2021-04-06 16:16:49 -04:00
Matthew Heon
6acd265306 Add --requires flag to podman run/create
Podman has, for a long time, had an internal concept of
dependency management, used mainly to ensure that pod infra
containers are started before any other container in the pod. We
also have the ability to recursively start these dependencies,
which we use to ensure that `podman start` on a container in a
pod will not fail because the infra container is stopped. We have
not, however, exposed these via the command line until now.

Add a `--requires` flag to `podman run` and `podman create` to
allow users to manually specify dependency containers. These
containers must be running before the container will start. Also,
make recursive starting with `podman start` default so we can
start these containers and their dependencies easily.

Fixes #9250

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2021-04-06 14:01:31 -04:00
OpenShift Merge Robot
8d411a876c
Merge pull request #9917 from baude/machineconventions
fix machine naming conventions
2021-04-05 22:16:15 +02:00
OpenShift Merge Robot
4f57a10344
Merge pull request #9940 from rhatdan/auth
Verify existence of auth file if specified
2021-04-05 21:15:15 +02:00
Daniel J Walsh
c6a21a38b3
Add support for podman --context default
This is a noop but helps with scripting and docker-compose.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-05 12:41:47 -04:00
Daniel J Walsh
28251f41ff
Verify existence of auth file if specified
Fixes: https://github.com/containers/podman/issues/9572

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-04-05 12:36:04 -04:00
baude
7a446b06c3 fix machine naming conventions
try to align the machine commands and their usage descriptions.

[NO TESTS NEEDED]

Signed-off-by: baude <bbaude@redhat.com>
2021-04-05 09:50:03 -05:00
Jhon Honce
3ed56079f9 Add default template functions
For commands that use the golang template library directly add the
compatible template functions

[NO TESTS NEEDED]

Fixes #8773

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-04-02 08:00:06 -07:00