summaryrefslogtreecommitdiff
path: root/pkg/systemd/generate/pods.go
diff options
context:
space:
mode:
authorOndra Machacek <omachace@redhat.com>2021-12-02 13:44:35 +0100
committerOndra Machacek <omachace@redhat.com>2021-12-03 12:11:28 +0100
commitc9ad1da51c6b1aa7eb531a2f9951aa853bdea109 (patch)
tree8e94a4877172747dbfa308d5db2099ddc80dd9ad /pkg/systemd/generate/pods.go
parenta6d1220ac08456dcc075b85b168def3ffeadb58d (diff)
downloadpodman-c9ad1da51c6b1aa7eb531a2f9951aa853bdea109.tar.gz
podman-c9ad1da51c6b1aa7eb531a2f9951aa853bdea109.tar.bz2
podman-c9ad1da51c6b1aa7eb531a2f9951aa853bdea109.zip
Add restart-sec option to systemd generate
Signed-off-by: Ondra Machacek <omachace@redhat.com>
Diffstat (limited to 'pkg/systemd/generate/pods.go')
-rw-r--r--pkg/systemd/generate/pods.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/systemd/generate/pods.go b/pkg/systemd/generate/pods.go
index 48252c737..f2d04dadc 100644
--- a/pkg/systemd/generate/pods.go
+++ b/pkg/systemd/generate/pods.go
@@ -30,6 +30,8 @@ type podInfo struct {
StopTimeout uint
// RestartPolicy of the systemd unit (e.g., no, on-failure, always).
RestartPolicy string
+ // RestartSec of the systemd unit. Configures the time to sleep before restarting a service.
+ RestartSec uint
// PIDFile of the service. Required for forking services. Must point to the
// PID of the associated conmon process.
PIDFile string
@@ -89,6 +91,9 @@ Before={{{{- range $index, $value := .RequiredServices -}}}}{{{{if $index}}}} {{
[Service]
Environment={{{{.EnvVariable}}}}=%n
Restart={{{{.RestartPolicy}}}}
+{{{{- if .RestartSec}}}}
+RestartSec={{{{.RestartSec}}}}
+{{{{- end}}}}
TimeoutStopSec={{{{.TimeoutStopSec}}}}
{{{{- if .ExecStartPre1}}}}
ExecStartPre={{{{.ExecStartPre1}}}}
@@ -242,6 +247,10 @@ func executePodTemplate(info *podInfo, options entities.GenerateSystemdOptions)
info.RestartPolicy = *options.RestartPolicy
}
+ if options.RestartSec != nil {
+ info.RestartSec = *options.RestartSec
+ }
+
// Make sure the executable is set.
if info.Executable == "" {
executable, err := os.Executable()