From e704f1362abc416786076a932d8e2ca930b9fa2e Mon Sep 17 00:00:00 2001
From: Luap99 <paul.holzinger@web.de>
Date: Thu, 21 May 2020 17:36:41 +0200
Subject: Added new flags to 'podman generate systemd' to change the unit name
 prefix

--container-prefix <string> - default 'container'
Systemd unit name prefix for containers

--pod-prefix <string> - default 'pod'
Systemd unit name prefix for pods

--separator <string> - default '-'
Systemd unit name seperator between name/id and prefix

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
---
 pkg/domain/entities/generate.go  | 6 ++++++
 pkg/domain/infra/abi/generate.go | 6 +++---
 2 files changed, 9 insertions(+), 3 deletions(-)

(limited to 'pkg/domain')

diff --git a/pkg/domain/entities/generate.go b/pkg/domain/entities/generate.go
index edd217615..68a42d897 100644
--- a/pkg/domain/entities/generate.go
+++ b/pkg/domain/entities/generate.go
@@ -14,6 +14,12 @@ type GenerateSystemdOptions struct {
 	RestartPolicy string
 	// StopTimeout - time when stopping the container.
 	StopTimeout *uint
+	// ContainerPrefix - systemd unit name prefix for containers
+	ContainerPrefix string
+	// PodPrefix - systemd unit name prefix for pods
+	PodPrefix string
+	// Separator - systemd unit name seperator between name/id and prefix
+	Separator string
 }
 
 // GenerateSystemdReport
diff --git a/pkg/domain/infra/abi/generate.go b/pkg/domain/infra/abi/generate.go
index be5d452bd..abb5e2911 100644
--- a/pkg/domain/infra/abi/generate.go
+++ b/pkg/domain/infra/abi/generate.go
@@ -159,14 +159,14 @@ func (ic *ContainerEngine) generateSystemdgenContainerInfo(nameOrID string, pod
 func generateServiceName(ctr *libpod.Container, pod *libpod.Pod, options entities.GenerateSystemdOptions) (string, string) {
 	var kind, name, ctrName string
 	if pod == nil {
-		kind = "container"
+		kind = options.ContainerPrefix //defaults to container
 		name = ctr.ID()
 		if options.Name {
 			name = ctr.Name()
 		}
 		ctrName = name
 	} else {
-		kind = "pod"
+		kind = options.PodPrefix //defaults to pod
 		name = pod.ID()
 		ctrName = ctr.ID()
 		if options.Name {
@@ -174,7 +174,7 @@ func generateServiceName(ctr *libpod.Container, pod *libpod.Pod, options entitie
 			ctrName = ctr.Name()
 		}
 	}
-	return ctrName, fmt.Sprintf("%s-%s", kind, name)
+	return ctrName, fmt.Sprintf("%s%s%s", kind, options.Separator, name)
 }
 
 func (ic *ContainerEngine) GenerateKube(ctx context.Context, nameOrID string, options entities.GenerateKubeOptions) (*entities.GenerateKubeReport, error) {
-- 
cgit v1.2.3-54-g00ecf