quadlet: support HostName

Add a new `HostName` field to Quadlet `.container` files.

Fixes: #18486
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
This commit is contained in:
Valentin Rothberg
2023-05-09 13:22:52 +02:00
parent edcb29b19f
commit b97be3406b
4 changed files with 17 additions and 0 deletions

View File

@ -109,6 +109,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 |
@ -276,6 +277,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

View File

@ -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...)

View File

@ -0,0 +1,4 @@
[Container]
Image=localhost/imagename
## assert-podman-args "--hostname" "\"quadlet-host\""
HostName="quadlet-host"

View File

@ -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"),