From 2df994ba0c5a98c0668ef7034c1b6259cd3fc3fe Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 20 Dec 2023 15:26:08 +0100 Subject: [PATCH] quadlet: Don't put @ in container names for templated units This is not supported by podman, so we make "foo@bar" into "foo_bar". Signed-off-by: Alexander Larsson --- pkg/systemd/quadlet/quadlet.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/systemd/quadlet/quadlet.go b/pkg/systemd/quadlet/quadlet.go index 62c2f53596..6890a33fcb 100644 --- a/pkg/systemd/quadlet/quadlet.go +++ b/pkg/systemd/quadlet/quadlet.go @@ -439,7 +439,11 @@ func ConvertContainer(container *parser.UnitFile, names map[string]string, isUse containerName, ok := container.Lookup(ContainerGroup, KeyContainerName) if !ok || len(containerName) == 0 { // By default, We want to name the container by the service name - containerName = "systemd-%N" + if strings.Contains(container.Filename, "@") { + containerName = "systemd-%P_%I" + } else { + containerName = "systemd-%N" + } } // Set PODMAN_SYSTEMD_UNIT so that podman auto-update can restart the service.