From 437bc61f4e64d132736066330b18f327bffe48fa Mon Sep 17 00:00:00 2001
From: Valentin Rothberg <rothberg@redhat.com>
Date: Thu, 12 Dec 2019 12:11:12 +0100
Subject: 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>
---
 cmd/podman/shared/create.go | 4 ++++
 1 file changed, 4 insertions(+)

(limited to 'cmd')

diff --git a/cmd/podman/shared/create.go b/cmd/podman/shared/create.go
index bb4e9cd12..c1c5db7cb 100644
--- a/cmd/podman/shared/create.go
+++ b/cmd/podman/shared/create.go
@@ -804,6 +804,10 @@ func CreateContainerFromCreateConfig(r *libpod.Runtime, createConfig *cc.CreateC
 		return nil, err
 	}
 
+	// Set the CreateCommand explicitly.  Some (future) consumers of libpod
+	// might not want to set it.
+	options = append(options, libpod.WithCreateCommand())
+
 	ctr, err := r.NewContainer(ctx, runtimeSpec, options...)
 	if err != nil {
 		return nil, err
-- 
cgit v1.2.3-54-g00ecf