automation-tests/pkg
Matthew Heon 1e3e99f2fe Move the HostConfig portion of Inspect inside libpod
When we first began writing Podman, we ran into a major issue
when implementing Inspect. Libpod deliberately does not tie its
internal data structures to Docker, and stores most information
about containers encoded within the OCI spec. However, Podman
must present a CLI compatible with Docker, which means it must
expose all the information in 'docker inspect' - most of which is
not contained in the OCI spec or libpod's Config struct.

Our solution at the time was the create artifact. We JSON'd the
complete CreateConfig (a parsed form of the CLI arguments to
'podman run') and stored it with the container, restoring it when
we needed to run commands that required the extra info.

Over the past month, I've been looking more at Inspect, and
refactored large portions of it into Libpod - generating them
from what we know about the OCI config and libpod's (now much
expanded, versus previously) container configuration. This path
comes close to completing the process, moving the last part of
inspect into libpod and removing the need for the create
artifact.

This improves libpod's compatability with non-Podman containers.
We no longer require an arbitrarily-formatted JSON blob to be
present to run inspect.

Fixes: #3500

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-07-17 16:48:38 -04:00
..
adapter golangci-lint pass number 2 2019-07-11 09:13:06 -05:00
annotations Update cri-o annotations 2019-04-01 11:10:54 +02:00
apparmor pkg/apparmor: fix when AA is disabled 2019-06-14 17:37:16 +02:00
cgroups Merge pull request #3564 from giuseppe/cgroupsv2-no-controllers-last-path 2019-07-13 00:21:18 +02:00
channelwriter account for varlink calls that dont use more 2019-07-10 08:50:05 -05:00
criu Add helper function to read out CRIU version 2018-10-23 12:52:03 +02:00
ctime ctime: Drop 32-/64-bit distinction on Linux 2018-07-07 20:35:00 +00:00
errorhandling first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
firewall first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
hooks first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
inspect Begin to break up pkg/inspect 2019-06-03 15:54:53 -04:00
kubeutils Remove dependency on kubernetes 2018-03-27 21:55:33 +00:00
logs first pass of corrections for golangci-lint 2019-07-10 15:52:17 -05:00
lookup pkg/lookup: Return ID-only pointers on ErrNo*Entries 2018-12-04 14:46:43 -08:00
namespaces userns: add new option --userns=keep-id 2019-05-24 17:34:12 +02:00
netns golangci-lint pass number 2 2019-07-11 09:13:06 -05:00
registrar Update registrar unit tests to match them of cri-o 2019-04-04 08:53:32 +02:00
registries Use the logical registry location instead of the physical one in (podman info) 2019-06-14 15:46:17 +02:00
resolvconf Use host's resolv.conf if no network namespace enabled 2018-11-27 15:28:09 -05:00
rootless golangci-lint pass number 2 2019-07-11 09:13:06 -05:00
spec Move the HostConfig portion of Inspect inside libpod 2019-07-17 16:48:38 -04:00
sysinfo trivial cleanups from golang 2019-07-03 15:41:33 -05:00
systemdgen Do not hardcode podman binary location in generate systemd. 2019-07-07 11:20:41 +03:00
tracing trivial cleanups from golang 2019-07-03 15:41:33 -05:00
trust trivial cleanups from golang 2019-07-03 15:41:33 -05:00
util Move the HostConfig portion of Inspect inside libpod 2019-07-17 16:48:38 -04:00
varlinkapi Move the HostConfig portion of Inspect inside libpod 2019-07-17 16:48:38 -04:00