diff options
author | Valentin Rothberg <rothberg@redhat.com> | 2019-12-12 12:11:12 +0100 |
---|---|---|
committer | Valentin Rothberg <rothberg@redhat.com> | 2019-12-13 14:39:45 +0100 |
commit | 437bc61f4e64d132736066330b18f327bffe48fa (patch) | |
tree | afea7e5c5200246a4c3ad1c86fd16a12ba339ee7 /libpod/options.go | |
parent | f81f15f42250a642f0753b5f18be61c1f24931dd (diff) | |
download | podman-437bc61f4e64d132736066330b18f327bffe48fa.tar.gz podman-437bc61f4e64d132736066330b18f327bffe48fa.tar.bz2 podman-437bc61f4e64d132736066330b18f327bffe48fa.zip |
container config: add CreateCommand
Store the full command plus arguments of the process the container has
been created with. Expose this data as a `Config.CreateCommand` field
in the container-inspect data as well.
This information can be useful for debugging, as we can find out which
command has created the container, and, if being created via the Podman
CLI, we know exactly with which flags the container has been created
with.
The immediate motivation for this change is to use this information for
`podman-generate-systemd` to generate systemd-service files that allow
for creating new containers (in contrast to only starting existing
ones).
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'libpod/options.go')
-rw-r--r-- | libpod/options.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libpod/options.go b/libpod/options.go index a9b775dc3..ebde4eecc 100644 --- a/libpod/options.go +++ b/libpod/options.go @@ -1413,6 +1413,18 @@ func WithHealthCheck(healthCheck *manifest.Schema2HealthConfig) CtrCreateOption } } +// WithCreateCommand adds the full command plus arguments of the current +// process to the container config. +func WithCreateCommand() CtrCreateOption { + return func(ctr *Container) error { + if ctr.valid { + return define.ErrCtrFinalized + } + ctr.config.CreateCommand = os.Args + return nil + } +} + // Volume Creation Options // WithVolumeName sets the name of the volume. |