Commit Graph

1466 Commits

Author SHA1 Message Date
baude
2df462024b podman remote-client commit
add the ability to commit a container to an image using the remote
client.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-30 10:14:23 -05:00
baude
dc7ae31171 podman-remote.conf enablement
add the ability for the podman remote client to use a configuration file
which describes its connections. users can now define a connection the
configuration and then call it by name like:

podman-remote -c connection1

and the destination and user will be derived from the configuration
file.  if no -c is provided, we look for a connection in the
configuration file designated as 'default'.  If the configuration file
has only one connection, it will be deemed the 'default'.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-30 09:41:17 -05:00
Matthew Heon
57d4093979 Error when trying to copy into a running rootless ctr
We can't pause them, so if that's requested, throw an error.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-30 09:20:04 -04:00
Giuseppe Scrivano
ad806f78e3 rootless: skip check fo /etc/containers/registries.conf
the warning can be confusing when used in rootless mode as the
unprivileged user has no way for setting it up.

Closes: https://github.com/containers/libpod/issues/2955

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-30 09:01:55 +02:00
Matthew Heon
48e35f7da7 We can't pause rootless containers during cp
Rootless containers can't be paused (no CGroups, so no freezer).

We could try and emulate this with a SIGSTOP to all PIDs in the
container, but that's inherently racy, so let's avoid it for now.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-29 22:53:51 -04:00
Matthew Heon
79990b7364 Tolerate non-running containers in paused cp
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-29 22:53:51 -04:00
Matthew Heon
49dc18552a Pause containers while copying into them
Should fix CVE-2018-15664 for Podman.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-29 22:53:50 -04:00
Matthew Heon
7b7d54242c Use securejoin to merge paths in podman cp
Securejoin ensures that paths are resolved in the container, not
on the host.

Fixes #3211

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-29 22:53:50 -04:00
OpenShift Merge Robot
8422503f43 Merge pull request #3221 from josegonzalez/master
Add missing 'container cp' alias and document missing 'container update' command
2019-05-29 20:46:09 +02:00
Jose Diaz-Gonzalez
635c161f38 add missing container cp command
'docker cp' is an alias for 'docker container cp', and podman should have the equivalent alias.

Signed-off-by: Jose Diaz-Gonzalez <email@josediazgonzalez.com>
2019-05-29 12:44:25 -04:00
OpenShift Merge Robot
294448c2ea Merge pull request #2709 from haircommander/journald
Add libpod journald logging
2019-05-29 17:51:27 +02:00
OpenShift Merge Robot
aed91ce3bf Merge pull request #3188 from giuseppe/fix-join-existing-containers
rootless: new function to join existing conmon processes
2019-05-29 17:12:40 +02:00
Peter Hunt
02f971131a Implement podman logs with log-driver journald
Add a journald reader that translates the journald entry to a k8s-file formatted line, to be added as a log line

Note: --follow with journald hasn't been implemented. It's going to be a larger undertaking that can wait.

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-05-28 11:10:57 -04:00
Peter Hunt
f61fa28d39 Added --log-driver and journald logging
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-05-28 11:10:57 -04:00
OpenShift Merge Robot
08dd8b2d76 Merge pull request #3137 from giuseppe/unshare-fixes
unshare: some cleanups and define CONTAINERS_{RUNROOT,GRAPHROOT}
2019-05-28 17:01:04 +02:00
OpenShift Merge Robot
7b6dac300d Merge pull request #3194 from QiWang19/cptar
fix bug dest path of copying tar
2019-05-28 16:44:58 +02:00
OpenShift Merge Robot
335a1ef160 Merge pull request #3189 from vrothberg/apparmor-fixes
Apparmor fixes
2019-05-28 16:23:48 +02:00
Giuseppe Scrivano
ee11f3bce9 rootless: new function to join existing conmon processes
move the logic for joining existing namespaces down to the rootless
package.  In main_local we still retrieve the list of conmon pid files
and use it from the rootless package.

In addition, create a temporary user namespace for reading these
files, as the unprivileged user might not have enough privileges for
reading the conmon pid file, for example when running with a different
uidmap and root in the container is different than the rootless user.

Closes: https://github.com/containers/libpod/issues/3187

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-25 13:47:57 +02:00
Qi Wang
bb7b0aad0e fix bug dest path of copying tar
when podman cp tar without --extract flag, if the destination already exists, or ends with path seprator, cp the tar under the directory, otherwise copy the tar named with the destination

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-05-24 11:51:30 -04:00
Giuseppe Scrivano
5eb321ac37 podman: honor env variable PODMAN_USERNS
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-24 17:34:13 +02:00
Giuseppe Scrivano
f09370c68b userns: add new option --userns=keep-id
it creates a namespace where the current UID:GID on the host is mapped
to the same UID:GID in the container.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-24 17:34:12 +02:00
Valentin Rothberg
1910118de9 warn when --security-opt and --privileged
Log a warning when --security-opt and --privileged are used together to
indicate that it has no effect since --privileged will set everything.
To avoid regressions, only warn, do not error out and do not print on
error level.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-05-24 15:37:42 +02:00
OpenShift Merge Robot
e0376b9c3f Merge pull request #3108 from rhatdan/flags
Fixup Flags
2019-05-22 16:27:30 +02:00
OpenShift Merge Robot
a4c42c6c6c Merge pull request #3178 from mheon/fix_gen_kube
Fix a 'generate kube' bug on ctrs with named volumes
2019-05-22 09:47:44 +02:00
OpenShift Merge Robot
536fd6addd Merge pull request #3084 from giuseppe/rootless-pause-process
rootless: use a pause process to keep namespaces alive
2019-05-21 22:08:08 +02:00
Matthew Heon
cec56b0075 Merge pull request #3168 from rhatdan/vendor
Update vendor of buildah and containers/images
2019-05-21 15:54:26 -04:00
Matthew Heon
e59083f41f Fix play kube when a pod is specified
We need to pass the Pod ID in as part of the CreateConfig.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-21 14:18:42 -04:00
OpenShift Merge Robot
e6277b1a2d Merge pull request #3167 from weirdwiz/filter
Minor fix filtering images by label
2019-05-21 17:39:27 +02:00
Daniel J Walsh
baed81029b Fixup Flags
Mark hidden all references to signature-policy
Default all uses of --authfile
Add --authfile support to podman run and podman create.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-05-20 13:53:32 -04:00
Divyansh Kamboj
c6f7066e77 Minor fix filtering images by label
Added test to avoid future regressions

Fix #3163

Signed-off-by: Divyansh Kamboj <kambojdivyansh2000@gmail.com>
2019-05-20 23:11:48 +05:30
Daniel J Walsh
1d505f6875 Update vendor of buildah and containers/images
Mainly add support for podman build using --overlay mounts.

Updates containers/image also adds better support for new registries.conf
file.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-05-20 13:39:40 -04:00
OpenShift Merge Robot
8d5432932d Merge pull request #3139 from jwhonce/wip/remote_info
Add connection information to podman-remote info
2019-05-20 17:20:59 +02:00
Nathaniel Kofalt
f4a4c7cda0 Output name of process on runlabel command
Signed-off-by: Nathaniel Kofalt <nathaniel@kofalt.com>
2019-05-18 23:31:52 -05:00
Giuseppe Scrivano
9dabb16e65 system: migrate stops the pause process
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-17 20:48:25 +02:00
Giuseppe Scrivano
791d53a214 rootless: use a pause process
use a pause process to keep the user and mount namespace alive.

The pause process is created immediately on reload, and all successive
Podman processes will refer to it for joining the user&mount
namespace.

This solves all the race conditions we had on joining the correct
namespaces using the conmon processes.

As a fallback if the join fails for any reason (e.g. the pause process
was killed), then we try to join the running containers as we were
doing before.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-17 20:48:24 +02:00
OpenShift Merge Robot
144244aeed Merge pull request #3104 from giuseppe/initial-cgroup2
rootless: allow resource isolation with cgroup v2
2019-05-17 19:54:13 +02:00
Valentin Rothberg
8f7f86d8cd remote: version: fix nil dereference
Fix a nil dereference by passing the PodmanCommand to GetRuntime().

Fixes: #3145
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-05-17 11:32:30 +02:00
Jhon Honce
a1c654de94 Add connection information to podman-remote info
Refactor client code to break out building connection string from
making the connection.

Example:

client:
  Connection: unix:/run/podman/io.podman
  Connection Type: DirectConnection
  .
  :

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-05-16 11:03:22 -07:00
Giuseppe Scrivano
8b344065d2 unshare: define CONTAINERS_GRAPHROOT and CONTAINERS_RUNROOT
define two environment variables, that simplify the task of cleaning
up the storage, as we can do something like:

podman unshare sh -c 'rm -rf $CONTAINERS_GRAPHROOT $CONTAINERS_RUNROOT'

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-16 16:31:21 +02:00
Giuseppe Scrivano
4b48024057 unshare: use rootless from libpod
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-16 15:58:46 +02:00
Divyansh Kamboj
2a961a7113 Add unshare to podman
This command lets the user run a command in a new user namespace like `unshare -u`.
It uses the implementation of unshare in buildah. ( fixes #1388 )

Signed-off-by: Divyansh Kamboj <kambojdivyansh2000@gmail.com>
2019-05-16 13:38:31 +05:30
OpenShift Merge Robot
a261b60cc8 Merge pull request #3096 from edsantiago/varlink_usage
varlink: fix usage message, URI is now optional
2019-05-14 13:59:22 +02:00
Ed Santiago
6b15f01a61 varlink: fix usage message, URI is now optional
38199f4c made the URI argument to podman-varlink optional.
Fix the usage message to indicate this.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-05-13 08:26:14 -06:00
Giuseppe Scrivano
0cb11dec44 podman: fix events help string
make it uppercase as all the other ones.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-13 10:48:20 +02:00
Giuseppe Scrivano
0e8f4ddaa9 rootless: default --cgroup-manager=systemd in unified mode
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-13 10:48:17 +02:00
Giuseppe Scrivano
42e65c57c2 create: skip resources validation with cgroup v2
skip resources validation when cgroup v2 is detected, as we don't
support it yet.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-05-13 10:48:17 +02:00
OpenShift Merge Robot
d54a2d2f81 Merge pull request #3041 from QiWang19/cpdash
implement cp reads tar file from stdin/to stdout
2019-05-09 19:35:53 +02:00
OpenShift Merge Robot
d8a065dab3 Merge pull request #3087 from jwhonce/wip/version
Add information when running `podman version` on client
2019-05-09 17:02:58 +02:00
Qi Wang
4479b8eec3 implement cp reads tar file from stdin/stdout
enables podman cp uses - to stream a tar archive from STDIN or to STDOUT.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-05-09 10:12:39 -04:00
Jhon Honce
d202e010af Add information when running podman version on client
* Include service version information and headers

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-05-08 11:29:03 -07:00