kpod save can now save images to directories using the
dir transport. Manifest conversion is also possible.
To save with the oci manifest type set --format to oci-dir
and to save with the v2s2(docker) manifest type, set --format
to docker-dir.
The layers can be compressed as well when saving to a directory
using the --compress flag.
Added functionality to kpod load to be able to load image from
a directory
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #137
Approved by: rhatdan
User can select from 3 manifest types: oci, v2s1, or v2s2
e.g kpod push --format v2s2 alpine dir:my-directory
Added "compress" flag to enable compression when true
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #126
Approved by: rhatdan
Error out if more than one mutually exclusive flags are passed
in to kpod ps
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #128
Approved by: rhatdan
As everything is being moved over to the new container api
removing files that depended on the old api
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #116
Approved by: rhatdan
If the artifacts file "create-config" is not found
when doing kpod inspect, just print the error and
move on to print out the rest of the inspect info
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #134
Approved by: mheon
When doing kpod images --format "{{.ID}}\t{{.Tag}}"
the "\t" was being passed in as a string of "\" and "t"
instead of as a tab character.
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #123
Approved by: rhatdan
kpod inspect now uses the new libpod container state
and closely matches the output of docker inspect
some aspects of it are still WIP as the libpod container state
is still being worked on
Signed-off-by: umohnani8 <umohnani@redhat.com>
When loading an image, kpod load would print something like
"Trying to pull docker.io/library/alpine...", which is misleading
and makes it sound like its pulling it form the registry.
Fixed this by removing these print statements for kpod load
Signed-off-by: umohnani8 <umohnani@redhat.com>
Initial wiring of kpod exec. We wont support the following options
for exec:
* detach -- unsure of use case
* detach-keys -- not supported by runc
* interactive -- all terminals will be interactive
Not adding exec tests as we need to think about how to support a
test that requires console access but our CI tests have no console.
Signed-off-by: baude <bbaude@redhat.com>
Add [r]shared, [r]private, [r]slave functionality to the --volume flag
for kpod create and kpod run
This sets the root propagation for each bind mount
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #87
Approved by: rhatdan
Libpod containers are immutable once created. They cannot be
renamed after created. As such remove kpod rename.
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
Closes: #101
Approved by: baude
Any subcommand that has two or more booleon short options can
now combine those two options. For example:
kpod rmi -af (Remove all images forceably)
Signed-off-by: baude <bbaude@redhat.com>
Closes: #100
Approved by: rhatdan
We need to differentiate between a kpod create and a kpod start
kpod create should create all of the data for libpod, but kpod start should
generate content for OCI Runtime (runc) in order to run.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #96
Approved by: mheon
Allow kpod create/run to create contianers in different network namespaces, uts namespaces and
IPC Namespaces.
This patch just handles the simple join the host, or another containers namespaces.
Lots more work needed to full integrate --net
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #64
Approved by: mheon
Stop all running containers with single switch. Useful for
maintainence of a system or integration tests.
Signed-off-by: baude <bbaude@redhat.com>
Closes: #90
Approved by: rhatdan
Enable the --volume flag to validate user input
and add functionality for :z and :Z options
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #84
Approved by: mheon
Also migrates kpod kill and kpod stop to libpod to use the new code
Fixes force removing containers, and actually deletes containers in runc when
removing them
Start is now capable of starting even when the container is unmounted
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
Closes: #68
Approved by: rhatdan
The size had a precision of 4, but wanted a precision of 3
to match the output of docker images
updated the man page with more examples
vendored in new version of docker/go-units to allow
for customized precisions
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #82
Approved by: rhatdan
Remove all containers with -a, --all.
Enable kpod rm tests which were all set to skip. Add two
tests for -a
Signed-off-by: baude <bbaude@redhat.com>
Closes: #74
Approved by: rhatdan
As reported in Issue #50, we need to be able to run
or create a container based on an image ID (as well
as name).
Signed-off-by: baude <bbaude@redhat.com>
Closes: #76
Approved by: rhatdan
Added lots of verification code to make sure resourses asociated with
containers is correct.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #60
Approved by: umohnani8
The new state for containers has been added
moved kpod mount and umount over to use it
Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
Closes: #57
Approved by: rhatdan
Users of kpod run could use these file systems to perform a breakout
or to learn valuable system information.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #61
Approved by: mheon
The way docker works is if a user specifies a non `-e Name=Value`, IE
just a `-e Name`, then the environment variable Name from the clients
OS.ENV is used.
Also by default Docker containers run with the HOSTNAME environment set
to the HOSTNAME specified for the container.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #21
Approved by: baude
Re-order the startup of a new container via run from
initialize > start > attach to initialize > attach > start.
This fixes output when running:
kpod run -i -t IMAGE command
and
kpod run IMAGE command
Signed-off-by: baude <bbaude@redhat.com>
Fixed the logic where we observed different performance
results when running an image by its fqname vs a shortname. In
the case of the latter, we resolve the name without using the
network.
Signed-off-by: baude <bbaude@redhat.com>
Closes: #37
Approved by: rhatdan
Add a global flag for cpu-profiling to allow us to
profile kpod for performance issues.
To parse its results, use:
go tool pprof --text <profile_path>
Signed-off-by: baude <bbaude@redhat.com>
Closes: #36
Approved by: mheon
Create unittests for the create_cli helper functions. As
such, remove cli context usage from the functions to
further divide between cli input and parsing. Also, simplifies
unit testing.
Signed-off-by: baude <bbaude@redhat.com>
This should turn on handling of SELinux, NoNewPrivs, seccomp and Apparmor
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #15
Approved by: rhatdan