summaryrefslogtreecommitdiff
path: root/pkg/systemd/generate/containers.go
diff options
context:
space:
mode:
authorAbhijeet Kasurde <akasurde@redhat.com>2022-03-28 21:53:01 +0530
committerDaniel J Walsh <dwalsh@redhat.com>2022-04-12 06:02:48 -0400
commitfb4fc03ec48fb6f6b41b51cecdfe9dae0d1610bb (patch)
treefb0c345ef733c4b8687631ca777340cc3f79f343 /pkg/systemd/generate/containers.go
parent0ebd2882f48155daf7b4cc8acbe53a570ac1aceb (diff)
downloadpodman-fb4fc03ec48fb6f6b41b51cecdfe9dae0d1610bb.tar.gz
podman-fb4fc03ec48fb6f6b41b51cecdfe9dae0d1610bb.tar.bz2
podman-fb4fc03ec48fb6f6b41b51cecdfe9dae0d1610bb.zip
Pretty print systemd services file
Fixes: #13337 I added newline only on options IE Begin with "-" [NO NEW TESTS NEEDED] Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com> Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'pkg/systemd/generate/containers.go')
-rw-r--r--pkg/systemd/generate/containers.go19
1 files changed, 17 insertions, 2 deletions
diff --git a/pkg/systemd/generate/containers.go b/pkg/systemd/generate/containers.go
index e11aed771..d552e21ed 100644
--- a/pkg/systemd/generate/containers.go
+++ b/pkg/systemd/generate/containers.go
@@ -282,6 +282,22 @@ func setContainerNameForTemplate(startCommand []string, info *containerInfo) ([]
return startCommand, nil
}
+func formatOptions(options []string) string {
+ var formatted strings.Builder
+ if len(options) == 0 {
+ return ""
+ }
+ formatted.WriteString(options[0])
+ for _, o := range options[1:] {
+ if strings.HasPrefix(o, "-") {
+ formatted.WriteString(" \\\n\t" + o)
+ continue
+ }
+ formatted.WriteString(" " + o)
+ }
+ return formatted.String()
+}
+
// executeContainerTemplate executes the container template on the specified
// containerInfo. Note that the containerInfo is also post processed and
// completed, which allows for an easier unit testing.
@@ -475,9 +491,8 @@ func executeContainerTemplate(info *containerInfo, options entities.GenerateSyst
return "", err
}
}
- info.ExecStart = strings.Join(startCommand, " ")
+ info.ExecStart = formatOptions(startCommand)
}
-
info.TimeoutStopSec = minTimeoutStopSec + info.StopTimeout
if info.PodmanVersion == "" {