Skip to content

Commit f43504a

Browse files
authored
Merge pull request #28279 from umut-polat/fix-quadlet-empty-entrypoint
quadlet: allow empty Entrypoint to clear image default
2 parents 62b334c + 926f562 commit f43504a

File tree

4 files changed

+15
-2
lines changed

4 files changed

+15
-2
lines changed

pkg/systemd/quadlet/quadlet.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -679,11 +679,17 @@ func ConvertContainer(container *parser.UnitFile, unitsInfoMap map[string]*UnitI
679679
podman.add("--cgroups=split")
680680
}
681681

682+
// Entrypoint needs special handling: an empty value is valid and means
683+
// "clear the image entrypoint" (podman run --entrypoint ""), so it
684+
// cannot go through lookupAndAddString which skips empty values.
685+
if val, ok := container.Lookup(ContainerGroup, KeyEntrypoint); ok {
686+
podman.addf("--entrypoint=%s", val)
687+
}
688+
682689
stringKeys := map[string]string{
683690
KeyTimezone: "--tz",
684691
KeyPidsLimit: "--pids-limit",
685692
KeyShmSize: "--shm-size",
686-
KeyEntrypoint: "--entrypoint",
687693
KeyWorkingDir: "--workdir",
688694
KeyIP: "--ip",
689695
KeyIP6: "--ip6",
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
## assert-podman-final-args localhost/imagename
2+
## assert-podman-args "--entrypoint="
3+
4+
[Container]
5+
Image=localhost/imagename
6+
Entrypoint=

test/e2e/quadlet/entrypoint.container

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## assert-podman-final-args localhost/imagename
2-
## assert-podman-args "--entrypoint" "top -b"
2+
## assert-podman-args "--entrypoint=top -b"
33

44
[Container]
55
Image=localhost/imagename

test/e2e/quadlet_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -935,6 +935,7 @@ BOGUS=foo
935935
Entry("env-host.container", "env-host.container"),
936936
Entry("env.container", "env.container"),
937937
Entry("entrypoint.container", "entrypoint.container"),
938+
Entry("entrypoint-empty.container", "entrypoint-empty.container"),
938939
Entry("escapes.container", "escapes.container"),
939940
Entry("exec.container", "exec.container"),
940941
Entry("group-add.container", "group-add.container"),

0 commit comments

Comments
 (0)