diff --git a/docs/source/markdown/podman-systemd.unit.5.md b/docs/source/markdown/podman-systemd.unit.5.md index 7dc90e5358..6486770962 100644 --- a/docs/source/markdown/podman-systemd.unit.5.md +++ b/docs/source/markdown/podman-systemd.unit.5.md @@ -319,6 +319,7 @@ Valid options for `[Container]` are listed below: | LogDriver=journald | --log-driver journald | | LogOpt=path=/var/log/mykube\.json | --log-opt path=/var/log/mykube\.json | | Mask=/proc/sys/foo\:/proc/sys/bar | --security-opt mask=/proc/sys/foo:/proc/sys/bar | +| Memory=20g | --memory 20g | | Mount=type=... | --mount type=... | | Network=host | --network host | | NetworkAlias=name | --network-alias name | @@ -659,6 +660,10 @@ This key can be listed multiple times. Specify the paths to mask separated by a colon. `Mask=/path/1:/path/2`. A masked path cannot be accessed inside the container. +### `Memory=` + +Specify the amount of memory for the container. + ### `Mount=` Attach a filesystem mount to the container. diff --git a/pkg/systemd/quadlet/quadlet.go b/pkg/systemd/quadlet/quadlet.go index 1c01679270..fc43c7ea80 100644 --- a/pkg/systemd/quadlet/quadlet.go +++ b/pkg/systemd/quadlet/quadlet.go @@ -122,6 +122,7 @@ const ( KeyLogDriver = "LogDriver" KeyLogOpt = "LogOpt" KeyMask = "Mask" + KeyMemory = "Memory" KeyMount = "Mount" KeyNetwork = "Network" KeyNetworkAlias = "NetworkAlias" @@ -240,6 +241,7 @@ var ( KeyLogDriver: true, KeyLogOpt: true, KeyMask: true, + KeyMemory: true, KeyMount: true, KeyNetwork: true, KeyNetworkAlias: true, @@ -635,6 +637,7 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[ KeyStopSignal: "--stop-signal", KeyStopTimeout: "--stop-timeout", KeyPull: "--pull", + KeyMemory: "--memory", } lookupAndAddString(container, ContainerGroup, stringKeys, podman) diff --git a/test/e2e/quadlet/memory.container b/test/e2e/quadlet/memory.container new file mode 100644 index 0000000000..6f174bd09f --- /dev/null +++ b/test/e2e/quadlet/memory.container @@ -0,0 +1,6 @@ +## assert-podman-final-args localhost/imagename +## assert-podman-args --memory 20g + +[Container] +Image=localhost/imagename +Memory=20g diff --git a/test/e2e/quadlet_test.go b/test/e2e/quadlet_test.go index 2a85d8dca9..2d840c4ac7 100644 --- a/test/e2e/quadlet_test.go +++ b/test/e2e/quadlet_test.go @@ -876,6 +876,7 @@ BOGUS=foo Entry("logdriver.container", "logdriver.container"), Entry("logopt.container", "logopt.container"), Entry("mask.container", "mask.container"), + Entry("memory.container", "memory.container"), Entry("name.container", "name.container"), Entry("nestedselinux.container", "nestedselinux.container"), Entry("network.container", "network.container"),