Quadlet Kube - add support for PublishPort key

Move the handling of Publish key to a method
use --publish instead of -p
Use the new method for both .container and .kube files
Adjust .container tests
Add .kube tests
Update the man page

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
This commit is contained in:
Ygal Blum
2023-01-08 09:44:08 +02:00
parent 67305cec97
commit b10a906b5c
7 changed files with 186 additions and 80 deletions

View File

@@ -5,46 +5,46 @@ ExposeHostPort=1000
## assert-podman-args --expose=2000-3000
ExposeHostPort=2000-3000
## assert-podman-args -p=127.0.0.1:80:90
## assert-podman-args --publish 127.0.0.1:80:90
PublishPort=127.0.0.1:80:90
## assert-podman-args -p=80:91
## assert-podman-args --publish 80:91
PublishPort=0.0.0.0:80:91
## assert-podman-args -p=80:92
## assert-podman-args --publish 80:92
PublishPort=:80:92
## assert-podman-args -p=127.0.0.1::93
## assert-podman-args --publish 127.0.0.1::93
PublishPort=127.0.0.1::93
## assert-podman-args -p=94
## assert-podman-args --publish 94
PublishPort=0.0.0.0::94
## assert-podman-args -p=95
## assert-podman-args --publish 95
PublishPort=::95
## assert-podman-args -p=80:96
## assert-podman-args --publish 80:96
PublishPort=80:96
## assert-podman-args -p=97
## assert-podman-args --publish 97
PublishPort=97
## assert-podman-args -p=1234/udp
## assert-podman-args --publish 1234/udp
PublishPort=1234/udp
## assert-podman-args -p=1234:1234/udp
## assert-podman-args --publish 1234:1234/udp
PublishPort=1234:1234/udp
## assert-podman-args -p=127.0.0.1:1234:1234/udp
## assert-podman-args --publish 127.0.0.1:1234:1234/udp
PublishPort=127.0.0.1:1234:1234/udp
## assert-podman-args -p=1234/tcp
## assert-podman-args --publish 1234/tcp
PublishPort=1234/tcp
## assert-podman-args -p=1234:1234/tcp
## assert-podman-args --publish 1234:1234/tcp
PublishPort=1234:1234/tcp
## assert-podman-args -p=127.0.0.1:1234:1234/tcp
## assert-podman-args --publish 127.0.0.1:1234:1234/tcp
PublishPort=127.0.0.1:1234:1234/tcp
## assert-podman-args --expose=2000-3000/udp

View File

@@ -0,0 +1,44 @@
[Kube]
Yaml=/opt/k8s/deployment.yml
## assert-podman-args --publish 127.0.0.1:80:90
PublishPort=127.0.0.1:80:90
## assert-podman-args --publish 80:91
PublishPort=0.0.0.0:80:91
## assert-podman-args --publish 80:92
PublishPort=:80:92
## assert-podman-args --publish 127.0.0.1::93
PublishPort=127.0.0.1::93
## assert-podman-args --publish 94
PublishPort=0.0.0.0::94
## assert-podman-args --publish 95
PublishPort=::95
## assert-podman-args --publish 80:96
PublishPort=80:96
## assert-podman-args --publish 97
PublishPort=97
## assert-podman-args --publish 1234/udp
PublishPort=1234/udp
## assert-podman-args --publish 1234:1234/udp
PublishPort=1234:1234/udp
## assert-podman-args --publish 127.0.0.1:1234:1234/udp
PublishPort=127.0.0.1:1234:1234/udp
## assert-podman-args --publish 1234/tcp
PublishPort=1234/tcp
## assert-podman-args --publish 1234:1234/tcp
PublishPort=1234:1234/tcp
## assert-podman-args --publish 127.0.0.1:1234:1234/tcp
PublishPort=127.0.0.1:1234:1234/tcp

View File

@@ -1,28 +1,28 @@
[Container]
Image=localhost/imagename
## assert-podman-args -p=[::1]:80:90
## assert-podman-args --publish [::1]:80:90
PublishPort=[::1]:80:90
## assert-podman-args -p=[::]:80:91
## assert-podman-args --publish [::]:80:91
PublishPort=[::]:80:91
## assert-podman-args -p=[2001:DB8::23]:80:91
## assert-podman-args --publish [2001:DB8::23]:80:91
PublishPort=[2001:DB8::23]:80:91
## assert-podman-args -p=[::1]::93
## assert-podman-args --publish [::1]::93
PublishPort=[::1]::93
## assert-podman-args -p=[::]::94
## assert-podman-args --publish [::]::94
PublishPort=[::]::94
## assert-podman-args -p=[2001:db8::42]::94
## assert-podman-args --publish [2001:db8::42]::94
PublishPort=[2001:db8::42]::94
## assert-podman-args -p=[::1]:1234:1234/udp
## assert-podman-args --publish [::1]:1234:1234/udp
PublishPort=[::1]:1234:1234/udp
## assert-podman-args -p=[::1]:1234:1234/tcp
## assert-podman-args --publish [::1]:1234:1234/tcp
PublishPort=[::1]:1234:1234/tcp
## assert-podman-args -p=[2001:db8:c0:ff:ee::1]:1234:1234/udp
## assert-podman-args --publish [2001:db8:c0:ff:ee::1]:1234:1234/udp
PublishPort=[2001:db8:c0:ff:ee::1]:1234:1234/udp

View File

@@ -0,0 +1,29 @@
[Kube]
Yaml=/opt/k8s/deployment.yml
## assert-podman-args --publish [::1]:80:90
PublishPort=[::1]:80:90
## assert-podman-args --publish [::]:80:91
PublishPort=[::]:80:91
## assert-podman-args --publish [2001:DB8::23]:80:91
PublishPort=[2001:DB8::23]:80:91
## assert-podman-args --publish [::1]::93
PublishPort=[::1]::93
## assert-podman-args --publish [::]::94
PublishPort=[::]::94
## assert-podman-args --publish [2001:db8::42]::94
PublishPort=[2001:db8::42]::94
## assert-podman-args --publish [::1]:1234:1234/udp
PublishPort=[::1]:1234:1234/udp
## assert-podman-args --publish [::1]:1234:1234/tcp
PublishPort=[::1]:1234:1234/tcp
## assert-podman-args --publish [2001:db8:c0:ff:ee::1]:1234:1234/udp
PublishPort=[2001:db8:c0:ff:ee::1]:1234:1234/udp

View File

@@ -492,6 +492,8 @@ var _ = Describe("quadlet system generator", func() {
Entry("Kube - Network", "network.kube"),
Entry("Kube - Quadlet Network", "network.quadlet.kube"),
Entry("Kube - ConfigMap", "configmap.kube"),
Entry("Kube - Publish IPv4 ports", "ports.kube"),
Entry("Kube - Publish IPv6 ports", "ports_ipv6.kube"),
Entry("Network - Basic", "basic.network"),
Entry("Network - Label", "label.network"),