diff --git a/docs/source/markdown/podman-systemd.unit.5.md b/docs/source/markdown/podman-systemd.unit.5.md index 945ae5d773..1c5a8d185d 100644 --- a/docs/source/markdown/podman-systemd.unit.5.md +++ b/docs/source/markdown/podman-systemd.unit.5.md @@ -108,6 +108,7 @@ Valid options for `[Container]` are listed below: | HealthStartupSuccess=2 | --health-startup-success=2 | | HealthStartupTimeout=1m33s | --health-startup-timeout=1m33s | | HealthTimeout=20s | --health-timeout=20s | +| HostName=new-host-name | --hostname="new-host-name" | | Image=ubi8 | Image specification - ubi8 | | IP=192.5.0.1 | --ip 192.5.0.0 | | IP6=fd46:db93:aa76:ac37::10 | --ip6 2001:db8::1 | @@ -275,6 +276,11 @@ Equivalent to the Podman `--health-startup-timeout` option. The maximum time allowed to complete the healthcheck before an interval is considered failed. Equivalent to the Podman `--health-timeout` option. +### `HostName=` + +Sets the host name that is available inside the container. +Equivalent to the Podman `--hostname` option. + ### `Image=` The image to run in the container. This image must be locally installed for the service to work diff --git a/pkg/systemd/quadlet/quadlet.go b/pkg/systemd/quadlet/quadlet.go index c11737c90d..05da4068b3 100644 --- a/pkg/systemd/quadlet/quadlet.go +++ b/pkg/systemd/quadlet/quadlet.go @@ -58,6 +58,7 @@ const ( KeyHealthStartupSuccess = "HealthStartupSuccess" KeyHealthStartupTimeout = "HealthStartupTimeout" KeyHealthTimeout = "HealthTimeout" + KeyHostName = "HostName" KeyImage = "Image" KeyIP = "IP" KeyIP6 = "IP6" @@ -129,6 +130,7 @@ var ( KeyHealthStartupSuccess: true, KeyHealthStartupTimeout: true, KeyHealthTimeout: true, + KeyHostName: true, KeyImage: true, KeyIP: true, KeyIP6: true, @@ -614,6 +616,10 @@ func ConvertContainer(container *parser.UnitFile, isUser bool) (*parser.UnitFile handleHealth(container, ContainerGroup, podman) + if hostname, ok := container.Lookup(ContainerGroup, KeyHostName); ok { + podman.add("--hostname", hostname) + } + podmanArgs := container.LookupAllArgs(ContainerGroup, KeyPodmanArgs) podman.add(podmanArgs...) diff --git a/test/e2e/quadlet/hostname.container b/test/e2e/quadlet/hostname.container new file mode 100644 index 0000000000..c239b8667e --- /dev/null +++ b/test/e2e/quadlet/hostname.container @@ -0,0 +1,4 @@ +[Container] +Image=localhost/imagename +## assert-podman-args "--hostname" "\"quadlet-host\"" +HostName="quadlet-host" diff --git a/test/e2e/quadlet_test.go b/test/e2e/quadlet_test.go index a5c752d330..5b1e0cc5c6 100644 --- a/test/e2e/quadlet_test.go +++ b/test/e2e/quadlet_test.go @@ -575,6 +575,7 @@ var _ = Describe("quadlet system generator", func() { Entry("logdriver.container", "logdriver.container"), Entry("mount.container", "mount.container"), Entry("health.container", "health.container"), + Entry("hostname.container", "hostname.container"), Entry("basic.volume", "basic.volume"), Entry("label.volume", "label.volume"),