Quadlet - prefer "param val" over "param=val" to allow env expansion

When possible use a generic function to add strings and booleans
Adjust tests

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
This commit is contained in:
Ygal Blum
2024-10-01 17:59:55 -04:00
parent 0c6be7aedb
commit fc25a3a5fc
107 changed files with 289 additions and 417 deletions

View File

@@ -588,7 +588,7 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[
podman.add("run")
podman.addf("--name=%s", containerName)
podman.add("--name", containerName)
podman.add(
// We store the container id so we can clean it up in case of failure
@@ -608,31 +608,49 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[
service.Add(ServiceGroup, "Delegate", "yes")
if cgroupsMode, ok := container.Lookup(ContainerGroup, KeyCgroupsMode); ok && len(cgroupsMode) > 0 {
podman.addf("--cgroups=%s", cgroupsMode)
podman.add("--cgroups", cgroupsMode)
} else {
podman.add("--cgroups=split")
}
timezone, ok := container.Lookup(ContainerGroup, KeyTimezone)
if ok && len(timezone) > 0 {
podman.addf("--tz=%s", timezone)
stringKeys := map[string]string{
KeyTimezone: "--tz",
KeyPidsLimit: "--pids-limit",
KeyShmSize: "--shm-size",
KeyEntrypoint: "--entrypoint",
KeyWorkingDir: "--workdir",
KeyIP: "--ip",
KeyIP6: "--ip6",
KeyHostName: "--hostname",
KeyStopSignal: "--stop-signal",
KeyStopTimeout: "--stop-timeout",
KeyPull: "--pull",
}
lookupAndAddString(container, ContainerGroup, stringKeys, podman)
allStringsKeys := map[string]string{
KeyNetworkAlias: "--network-alias",
KeyUlimit: "--ulimit",
KeyDNS: "--dns",
KeyDNSOption: "--dns-option",
KeyDNSSearch: "--dns-search",
KeyGroupAdd: "--group-add",
KeyAddHost: "--add-host",
KeyTmpfs: "--tmpfs",
}
lookupAndAddAllStrings(container, ContainerGroup, allStringsKeys, podman)
boolKeys := map[string]string{
KeyRunInit: "--init",
KeyEnvironmentHost: "--env-host",
KeyReadOnlyTmpfs: "--read-only-tmpfs",
}
lookupAndAddBoolean(container, ContainerGroup, boolKeys, podman)
if err := addNetworks(container, ContainerGroup, service, unitsInfoMap, podman); err != nil {
return nil, err
}
networkAliases := container.LookupAll(ContainerGroup, KeyNetworkAlias)
for _, networkAlias := range networkAliases {
podman.add("--network-alias", networkAlias)
}
// Run with a pid1 init to reap zombies by default (as most apps don't do that)
runInit, ok := container.LookupBoolean(ContainerGroup, KeyRunInit)
if ok {
podman.addBool("--init", runInit)
}
serviceType, ok := service.Lookup(ServiceGroup, "Type")
if ok && serviceType != "notify" && serviceType != "oneshot" {
return nil, fmt.Errorf("invalid service Type '%s'", serviceType)
@@ -678,11 +696,6 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[
podman.add("--security-opt", "label=nested")
}
pidsLimit, ok := container.Lookup(ContainerGroup, KeyPidsLimit)
if ok && len(pidsLimit) > 0 {
podman.add("--pids-limit", pidsLimit)
}
securityLabelType, ok := container.Lookup(ContainerGroup, KeySecurityLabelType)
if ok && len(securityLabelType) > 0 {
podman.add("--security-opt", fmt.Sprintf("label=type:%s", securityLabelType))
@@ -698,12 +711,6 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[
podman.add("--security-opt", fmt.Sprintf("label=level:%s", securityLabelLevel))
}
ulimits := container.LookupAll(ContainerGroup, KeyUlimit)
for _, ulimit := range ulimits {
podman.add("--ulimit", ulimit)
}
// But allow overrides with AddCapability
devices := container.LookupAllStrv(ContainerGroup, KeyAddDevice)
for _, device := range devices {
if device[0] == '-' {
@@ -713,7 +720,7 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[
continue
}
}
podman.addf("--device=%s", device)
podman.add("--device", device)
}
// Default to no higher level privileges or caps
@@ -722,57 +729,29 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[
podman.add("--security-opt", fmt.Sprintf("seccomp=%s", seccompProfile))
}
dns := container.LookupAll(ContainerGroup, KeyDNS)
for _, ipAddr := range dns {
podman.addf("--dns=%s", ipAddr)
}
dnsOptions := container.LookupAll(ContainerGroup, KeyDNSOption)
for _, dnsOption := range dnsOptions {
podman.addf("--dns-option=%s", dnsOption)
}
dnsSearches := container.LookupAll(ContainerGroup, KeyDNSSearch)
for _, dnsSearch := range dnsSearches {
podman.addf("--dns-search=%s", dnsSearch)
}
dropCaps := container.LookupAllStrv(ContainerGroup, KeyDropCapability)
for _, caps := range dropCaps {
podman.addf("--cap-drop=%s", strings.ToLower(caps))
podman.add("--cap-drop", strings.ToLower(caps))
}
// But allow overrides with AddCapability
addCaps := container.LookupAllStrv(ContainerGroup, KeyAddCapability)
for _, caps := range addCaps {
podman.addf("--cap-add=%s", strings.ToLower(caps))
}
shmSize, hasShmSize := container.Lookup(ContainerGroup, KeyShmSize)
if hasShmSize {
podman.addf("--shm-size=%s", shmSize)
}
entrypoint, hasEntrypoint := container.Lookup(ContainerGroup, KeyEntrypoint)
if hasEntrypoint {
podman.addf("--entrypoint=%s", entrypoint)
podman.add("--cap-add", strings.ToLower(caps))
}
sysctl := container.LookupAllStrv(ContainerGroup, KeySysctl)
for _, sysctlItem := range sysctl {
podman.addf("--sysctl=%s", sysctlItem)
podman.add("--sysctl", sysctlItem)
}
// This was not moved to the generic handling since readOnly is used also with volatileTmp
readOnly, ok := container.LookupBoolean(ContainerGroup, KeyReadOnly)
if ok {
podman.addBool("--read-only", readOnly)
}
if readOnlyTmpfs, ok := container.LookupBoolean(ContainerGroup, KeyReadOnlyTmpfs); ok {
podman.addBool("--read-only-tmpfs", readOnlyTmpfs)
}
volatileTmp := container.LookupBooleanWithDefault(ContainerGroup, KeyVolatileTmp, false)
if volatileTmp && !readOnly {
podman.add("--tmpfs", "/tmp:rw,size=512M,mode=1777")
@@ -782,30 +761,10 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[
return nil, err
}
if workdir, exists := container.Lookup(ContainerGroup, KeyWorkingDir); exists {
podman.addf("-w=%s", workdir)
}
if err := handleUserMappings(container, ContainerGroup, podman, isUser, true); err != nil {
return nil, err
}
groupsAdd := container.LookupAll(ContainerGroup, KeyGroupAdd)
for _, groupAdd := range groupsAdd {
if len(groupAdd) > 0 {
podman.addf("--group-add=%s", groupAdd)
}
}
tmpfsValues := container.LookupAll(ContainerGroup, KeyTmpfs)
for _, tmpfs := range tmpfsValues {
if strings.Count(tmpfs, ":") > 1 {
return nil, fmt.Errorf("invalid tmpfs format '%s'", tmpfs)
}
podman.add("--tmpfs", tmpfs)
}
if err := addVolumes(container, service, ContainerGroup, unitsInfoMap, podman); err != nil {
return nil, err
}
@@ -825,28 +784,13 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[
return nil, fmt.Errorf("invalid port format '%s'", exposedPort)
}
podman.addf("--expose=%s", exposedPort)
podman.add("--expose", exposedPort)
}
handlePublishPorts(container, ContainerGroup, podman)
podman.addEnv(podmanEnv)
ip, ok := container.Lookup(ContainerGroup, KeyIP)
if ok && len(ip) > 0 {
podman.add("--ip", ip)
}
ip6, ok := container.Lookup(ContainerGroup, KeyIP6)
if ok && len(ip6) > 0 {
podman.add("--ip6", ip6)
}
addHosts := container.LookupAll(ContainerGroup, KeyAddHost)
for _, addHost := range addHosts {
podman.addf("--add-host=%s", addHost)
}
labels := container.LookupAllKeyVal(ContainerGroup, KeyLabel)
podman.addLabels(labels)
@@ -872,10 +816,6 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[
podman.add("--env-file", filePath)
}
if envHost, ok := container.LookupBoolean(ContainerGroup, KeyEnvironmentHost); ok {
podman.addBool("--env-host", envHost)
}
secrets := container.LookupAllArgs(ContainerGroup, KeySecret)
for _, secret := range secrets {
podman.add("--secret", secret)
@@ -892,27 +832,10 @@ func ConvertContainer(container *parser.UnitFile, isUser bool, unitsInfoMap map[
handleHealth(container, ContainerGroup, podman)
if hostname, ok := container.Lookup(ContainerGroup, KeyHostName); ok {
podman.add("--hostname", hostname)
}
pull, ok := container.Lookup(ContainerGroup, KeyPull)
if ok && len(pull) > 0 {
podman.add("--pull", pull)
}
if err := handlePod(container, service, ContainerGroup, unitsInfoMap, podman); err != nil {
return nil, err
}
if stopSignal, ok := container.Lookup(ContainerGroup, KeyStopSignal); ok && len(stopSignal) > 0 {
podman.add("--stop-signal", stopSignal)
}
if stopTimeout, ok := container.Lookup(ContainerGroup, KeyStopTimeout); ok && len(stopTimeout) > 0 {
podman.add("--stop-timeout", stopTimeout)
}
handlePodmanArgs(container, ContainerGroup, podman)
if len(image) > 0 {
@@ -953,6 +876,10 @@ func ConvertNetwork(network *parser.UnitFile, name string, unitsInfoMap map[stri
service := network.Dup()
service.Filename = unitInfo.ServiceFileName()
if network.Path != "" {
service.Add(UnitGroup, "SourcePath", network.Path)
}
if err := checkForUnknownKeys(network, NetworkGroup, supportedNetworkKeys); err != nil {
return nil, err
}
@@ -973,19 +900,23 @@ func ConvertNetwork(network *parser.UnitFile, name string, unitsInfoMap map[stri
podman.add("network", "create", "--ignore")
if disableDNS := network.LookupBooleanWithDefault(NetworkGroup, KeyDisableDNS, false); disableDNS {
podman.add("--disable-dns")
boolKeys := map[string]string{
KeyDisableDNS: "--disable-dns",
KeyInternal: "--internal",
KeyIPv6: "--ipv6",
}
lookupAndAddBoolean(network, NetworkGroup, boolKeys, podman)
dns := network.LookupAll(NetworkGroup, KeyDNS)
for _, ipAddr := range dns {
podman.addf("--dns=%s", ipAddr)
stringKeys := map[string]string{
KeyDriver: "--driver",
KeyIPAMDriver: "--ipam-driver",
}
lookupAndAddString(network, NetworkGroup, stringKeys, podman)
driver, ok := network.Lookup(NetworkGroup, KeyDriver)
if ok && len(driver) > 0 {
podman.addf("--driver=%s", driver)
allStringKeys := map[string]string{
KeyDNS: "--dns",
}
lookupAndAddAllStrings(network, NetworkGroup, allStringKeys, podman)
subnets := network.LookupAll(NetworkGroup, KeySubnet)
gateways := network.LookupAll(NetworkGroup, KeyGateway)
@@ -998,30 +929,18 @@ func ConvertNetwork(network *parser.UnitFile, name string, unitsInfoMap map[stri
return nil, fmt.Errorf("cannot set more ranges than subnets")
}
for i := range subnets {
podman.addf("--subnet=%s", subnets[i])
podman.add("--subnet", subnets[i])
if len(gateways) > i {
podman.addf("--gateway=%s", gateways[i])
podman.add("--gateway", gateways[i])
}
if len(ipRanges) > i {
podman.addf("--ip-range=%s", ipRanges[i])
podman.add("--ip-range", ipRanges[i])
}
}
} else if len(ipRanges) > 0 || len(gateways) > 0 {
return nil, fmt.Errorf("cannot set gateway or range without subnet")
}
if internal := network.LookupBooleanWithDefault(NetworkGroup, KeyInternal, false); internal {
podman.add("--internal")
}
if ipamDriver, ok := network.Lookup(NetworkGroup, KeyIPAMDriver); ok && len(ipamDriver) > 0 {
podman.addf("--ipam-driver=%s", ipamDriver)
}
if ipv6 := network.LookupBooleanWithDefault(NetworkGroup, KeyIPv6, false); ipv6 {
podman.add("--ipv6")
}
networkOptions := network.LookupAllKeyVal(NetworkGroup, KeyOptions)
if len(networkOptions) > 0 {
podman.addKeys("--opt", networkOptions)
@@ -1064,6 +983,10 @@ func ConvertVolume(volume *parser.UnitFile, name string, unitsInfoMap map[string
service := volume.Dup()
service.Filename = unitInfo.ServiceFileName()
if volume.Path != "" {
service.Add(UnitGroup, "SourcePath", volume.Path)
}
if err := checkForUnknownKeys(volume, VolumeGroup, supportedVolumeKeys); err != nil {
return nil, err
}
@@ -1088,7 +1011,7 @@ func ConvertVolume(volume *parser.UnitFile, name string, unitsInfoMap map[string
driver, ok := volume.Lookup(VolumeGroup, KeyDriver)
if ok {
podman.addf("--driver=%s", driver)
podman.add("--driver", driver)
}
var opts strings.Builder
@@ -1378,19 +1301,13 @@ func ConvertImage(image *parser.UnitFile, unitsInfoMap map[string]*UnitInfo) (*p
KeyOS: "--os",
KeyVariant: "--variant",
}
lookupAndAddString(image, ImageGroup, stringKeys, podman)
boolKeys := map[string]string{
KeyAllTags: "--all-tags",
KeyTLSVerify: "--tls-verify",
}
for key, flag := range stringKeys {
lookupAndAddString(image, ImageGroup, key, flag, podman)
}
for key, flag := range boolKeys {
lookupAndAddBoolean(image, ImageGroup, key, flag, podman)
}
lookupAndAddBoolean(image, ImageGroup, boolKeys, podman)
handlePodmanArgs(image, ImageGroup, podman)
@@ -1461,56 +1378,32 @@ func ConvertBuild(build *parser.UnitFile, unitsInfoMap map[string]*UnitInfo) (*p
KeyTarget: "--target",
KeyVariant: "--variant",
}
lookupAndAddString(build, BuildGroup, stringKeys, podman)
boolKeys := map[string]string{
KeyTLSVerify: "--tls-verify",
KeyForceRM: "--force-rm",
}
lookupAndAddBoolean(build, BuildGroup, boolKeys, podman)
for key, flag := range stringKeys {
lookupAndAddString(build, BuildGroup, key, flag, podman)
}
for key, flag := range boolKeys {
lookupAndAddBoolean(build, BuildGroup, key, flag, podman)
allStringKeys := map[string]string{
KeyDNS: "--dns",
KeyDNSOption: "--dns-option",
KeyDNSSearch: "--dns-search",
KeyGroupAdd: "--group-add",
KeyImageTag: "--tag",
}
lookupAndAddAllStrings(build, BuildGroup, allStringKeys, podman)
annotations := build.LookupAllKeyVal(BuildGroup, KeyAnnotation)
podman.addAnnotations(annotations)
dns := build.LookupAll(BuildGroup, KeyDNS)
for _, ipAddr := range dns {
podman.addf("--dns=%s", ipAddr)
}
dnsOptions := build.LookupAll(BuildGroup, KeyDNSOption)
for _, dnsOption := range dnsOptions {
podman.addf("--dns-option=%s", dnsOption)
}
dnsSearches := build.LookupAll(BuildGroup, KeyDNSSearch)
for _, dnsSearch := range dnsSearches {
podman.addf("--dns-search=%s", dnsSearch)
}
podmanEnv := build.LookupAllKeyVal(BuildGroup, KeyEnvironment)
podman.addEnv(podmanEnv)
groupsAdd := build.LookupAll(BuildGroup, KeyGroupAdd)
for _, groupAdd := range groupsAdd {
if len(groupAdd) > 0 {
podman.addf("--group-add=%s", groupAdd)
}
}
labels := build.LookupAllKeyVal(BuildGroup, KeyLabel)
podman.addLabels(labels)
imageTags := build.LookupAll(BuildGroup, KeyImageTag)
for _, imageTag := range imageTags {
podman.addf("--tag=%s", imageTag)
}
if err := addNetworks(build, BuildGroup, service, unitsInfoMap, podman); err != nil {
return nil, err
}
@@ -1540,7 +1433,7 @@ func ConvertBuild(build *parser.UnitFile, unitsInfoMap map[string]*UnitInfo) (*p
}
if len(filePath) > 0 {
podman.addf("--file=%s", filePath)
podman.add("--file", filePath)
}
handlePodmanArgs(build, BuildGroup, podman)
@@ -1691,47 +1584,27 @@ func ConvertPod(podUnit *parser.UnitFile, name string, unitsInfoMap map[string]*
return nil, err
}
networkAliases := podUnit.LookupAll(PodGroup, KeyNetworkAlias)
for _, networkAlias := range networkAliases {
execStartPre.add("--network-alias", networkAlias)
stringsKeys := map[string]string{
KeyIP: "--ip",
KeyIP6: "--ip6",
}
lookupAndAddAllStrings(podUnit, PodGroup, stringsKeys, execStartPre)
allStringsKeys := map[string]string{
KeyNetworkAlias: "--network-alias",
KeyDNS: "--dns",
KeyDNSOption: "--dns-option",
KeyDNSSearch: "--dns-search",
KeyAddHost: "--add-host",
}
lookupAndAddAllStrings(podUnit, PodGroup, allStringsKeys, execStartPre)
if err := addVolumes(podUnit, service, PodGroup, unitsInfoMap, execStartPre); err != nil {
return nil, err
}
execStartPre.addf("--infra-name=%s-infra", podName)
execStartPre.addf("--name=%s", podName)
dns := podUnit.LookupAll(PodGroup, KeyDNS)
for _, ipAddr := range dns {
execStartPre.addf("--dns=%s", ipAddr)
}
dnsOptions := podUnit.LookupAll(PodGroup, KeyDNSOption)
for _, dnsOption := range dnsOptions {
execStartPre.addf("--dns-option=%s", dnsOption)
}
dnsSearches := podUnit.LookupAll(PodGroup, KeyDNSSearch)
for _, dnsSearch := range dnsSearches {
execStartPre.addf("--dns-search=%s", dnsSearch)
}
ip, ok := podUnit.Lookup(PodGroup, KeyIP)
if ok && len(ip) > 0 {
execStartPre.addf("--ip=%s", ip)
}
ip6, ok := podUnit.Lookup(PodGroup, KeyIP6)
if ok && len(ip6) > 0 {
execStartPre.addf("--ip6=%s", ip6)
}
addHosts := podUnit.LookupAll(PodGroup, KeyAddHost)
for _, addHost := range addHosts {
execStartPre.addf("--add-host=%s", addHost)
}
execStartPre.add("--infra-name", fmt.Sprintf("%s-infra", podName))
execStartPre.add("--name", podName)
handlePodmanArgs(podUnit, PodGroup, execStartPre)
@@ -1761,12 +1634,13 @@ func handleUser(unitFile *parser.UnitFile, groupName string, podman *PodmanCmdli
return nil
}
var userGroupStr string
if !okGroup {
podman.add("--user", user)
return nil
userGroupStr = user
} else {
userGroupStr = fmt.Sprintf("%s:%s", user, group)
}
podman.addf("--user=%s:%s", user, group)
podman.add("--user", userGroupStr)
return nil
}
@@ -1782,13 +1656,13 @@ func handleUserMappings(unitFile *parser.UnitFile, groupName string, podman *Pod
uidMaps := unitFile.LookupAllStrv(groupName, KeyUIDMap)
mappingsDefined = mappingsDefined || len(uidMaps) > 0
for _, uidMap := range uidMaps {
podman.addf("--uidmap=%s", uidMap)
podman.add("--uidmap", uidMap)
}
gidMaps := unitFile.LookupAllStrv(groupName, KeyGIDMap)
mappingsDefined = mappingsDefined || len(gidMaps) > 0
for _, gidMap := range gidMaps {
podman.addf("--gidmap=%s", gidMap)
podman.add("--gidmap", gidMap)
}
if subUIDMap, ok := unitFile.Lookup(groupName, KeySubUIDMap); ok && len(subUIDMap) > 0 {
@@ -1829,10 +1703,10 @@ func handleUserRemap(unitFile *parser.UnitFile, groupName string, podman *Podman
case "manual":
if supportManual {
for _, uidMap := range uidMaps {
podman.addf("--uidmap=%s", uidMap)
podman.add("--uidmap", uidMap)
}
for _, gidMap := range gidMaps {
podman.addf("--gidmap=%s", gidMap)
podman.add("--gidmap", gidMap)
}
} else {
return fmt.Errorf("RemapUsers=manual is not supported")
@@ -1850,7 +1724,7 @@ func handleUserRemap(unitFile *parser.UnitFile, groupName string, podman *Podman
autoOpts = append(autoOpts, fmt.Sprintf("size=%v", uidSize))
}
podman.add("--userns=" + usernsOpts("auto", autoOpts))
podman.add("--userns", usernsOpts("auto", autoOpts))
case "keep-id":
if !isUser {
return fmt.Errorf("RemapUsers=keep-id is unsupported for system units")
@@ -1870,7 +1744,7 @@ func handleUserRemap(unitFile *parser.UnitFile, groupName string, podman *Podman
keepidOpts = append(keepidOpts, "gid="+gidMaps[0])
}
podman.add("--userns=" + usernsOpts("keep-id", keepidOpts))
podman.add("--userns", usernsOpts("keep-id", keepidOpts))
default:
return fmt.Errorf("unsupported RemapUsers option '%s'", remapUsers)
@@ -1919,7 +1793,7 @@ func addNetworks(quadletUnitFile *parser.UnitFile, groupName string, serviceUnit
}
}
podman.addf("--network=%s", network)
podman.add("--network", network)
}
}
return nil
@@ -2100,19 +1974,30 @@ func handleSetWorkingDirectory(quadletUnitFile, serviceUnitFile *parser.UnitFile
return context, nil
}
func lookupAndAddString(unit *parser.UnitFile, group, key, flag string, podman *PodmanCmdline) {
val, ok := unit.Lookup(group, key)
if ok && len(val) > 0 {
podman.addf("%s=%s", flag, val)
func lookupAndAddString(unit *parser.UnitFile, group string, keys map[string]string, podman *PodmanCmdline) {
for key, flag := range keys {
if val, ok := unit.Lookup(group, key); ok && len(val) > 0 {
podman.add(flag, val)
}
}
}
func lookupAndAddBoolean(unit *parser.UnitFile, group, key, flag string, podman *PodmanCmdline) {
val, ok := unit.LookupBoolean(group, key)
if ok {
func lookupAndAddAllStrings(unit *parser.UnitFile, group string, keys map[string]string, podman *PodmanCmdline) {
for key, flag := range keys {
values := unit.LookupAll(group, key)
for _, val := range values {
podman.add(flag, val)
}
}
}
func lookupAndAddBoolean(unit *parser.UnitFile, group string, keys map[string]string, podman *PodmanCmdline) {
for key, flag := range keys {
if val, ok := unit.LookupBoolean(group, key); ok {
podman.addBool(flag, val)
}
}
}
func handleImageSource(quadletImageName string, serviceUnitFile *parser.UnitFile, unitsInfoMap map[string]*UnitInfo) (string, error) {
for _, suffix := range []string{".build", ".image"} {

View File

@@ -3,7 +3,7 @@
## assert-podman-args "--annotation" "org.foo.Arg1=arg1"
## assert-podman-args "--annotation" "org.foo.Arg2=arg 2"
## assert-podman-args "--annotation" "org.foo.Arg3=arg3"
## assert-podman-args --tag=localhost/imagename
## assert-podman-args "--tag" "localhost/imagename"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args --os=windows
## assert-podman-args --arch=arm64
## assert-podman-args "--os" "windows"
## assert-podman-args "--arch" "arm64"
[Image]
Image=localhost/imagename

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args --arch=aarch64
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args "--arch" "aarch64"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args --arch=aarch64
## assert-podman-args "--arch" "aarch64"
[Image]
Image=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args --authfile=/etc/certs/auth.json
## assert-podman-args "--authfile" "/etc/certs/auth.json"
[Image]
Image=localhost/imagename

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args --authfile=/etc/certs/auth.json
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args "--authfile" "/etc/certs/auth.json"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,4 +1,4 @@
## assert-podman-final-args run --name=systemd-%N --cidfile=%t/%N.cid --replace --rm --cgroups=split --sdnotify=conmon -d localhost/imagename
## assert-podman-final-args run --name systemd-%N --cidfile=%t/%N.cid --replace --rm --cgroups=split --sdnotify=conmon -d localhost/imagename
[Container]
Image=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args "--tag" "localhost/imagename"
## assert-key-is "Unit" "After" "network-online.target"
## assert-key-is "Unit" "Wants" "network-online.target"
## assert-key-is "Unit" "RequiresMountsFor" "%t/containers"

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args "--name=systemd-%N"
## assert-podman-args "--name" "systemd-%N"
## assert-podman-args "--cidfile=%t/%N.cid"
## assert-podman-args "--rm"
## assert-podman-args "--replace"

View File

@@ -1,7 +1,7 @@
## assert-key-is Unit RequiresMountsFor "%t/containers"
## assert-key-is Service Type forking
## assert-key-is Service SyslogIdentifier "%N"
## assert-key-is-regex Service ExecStartPre ".*/podman pod create --infra-conmon-pidfile=%t/%N.pid --pod-id-file=%t/%N.pod-id --exit-policy=stop --replace --infra-name=systemd-basic-infra --name=systemd-basic"
## assert-key-is-regex Service ExecStartPre ".*/podman pod create --infra-conmon-pidfile=%t/%N.pid --pod-id-file=%t/%N.pod-id --exit-policy=stop --replace --infra-name systemd-basic-infra --name systemd-basic"
## assert-key-is-regex Service ExecStart ".*/podman pod start --pod-id-file=%t/%N.pod-id"
## assert-key-is-regex Service ExecStop ".*/podman pod stop --pod-id-file=%t/%N.pod-id --ignore --time=10"
## assert-key-is-regex Service ExecStopPost ".*/podman pod rm --pod-id-file=%t/%N.pod-id --ignore --force"

View File

@@ -1,4 +1,4 @@
## assert-podman-args --driver=image
## assert-podman-args --driver image
## assert-podman-args --opt image=localhost/imagename
## assert-key-is "Unit" "Requires" "basic.service"
## assert-key-is "Unit" "After" "basic.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-args --driver=image
## assert-podman-args --driver image
## assert-podman-args --opt image=localhost/imagename
## assert-key-is "Unit" "Requires" "basic-build.service"
## assert-key-is "Unit" "After" "basic-build.service"

View File

@@ -1,7 +1,7 @@
## !assert-podman-args "--cap-drop=all"
## assert-podman-args "--cap-add=cap_dac_override"
## assert-podman-args "--cap-add=cap_audit_write"
## assert-podman-args "--cap-add=cap_ipc_owner"
## !assert-podman-args "--cap-drop" "all"
## assert-podman-args "--cap-add" "cap_dac_override"
## assert-podman-args "--cap-add" "cap_audit_write"
## assert-podman-args "--cap-add" "cap_ipc_owner"
[Container]
Image=localhost/imagename

View File

@@ -1,7 +1,7 @@
## !assert-podman-args "--cap-drop=all"
## assert-podman-args "--cap-drop=cap_dac_override"
## assert-podman-args "--cap-drop=cap_audit_write"
## assert-podman-args "--cap-drop=cap_ipc_owner"
## !assert-podman-args "--cap-drop" "all"
## assert-podman-args "--cap-drop" "cap_dac_override"
## assert-podman-args "--cap-drop" "cap_audit_write"
## assert-podman-args "--cap-drop" "cap_ipc_owner"
[Container]
Image=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args --cert-dir=/etc/certs/auth.json
## assert-podman-args "--cert-dir" "/etc/certs/auth.json"
[Image]
Image=localhost/imagename

View File

@@ -1,4 +1,4 @@
## assert-podman-args --cgroups=no-conmon
## assert-podman-args "--cgroups" "no-conmon"
[Container]
Image=localhost/imagename

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args localhost/imagename:latest
## assert-podman-args --publish 9091:9091
## assert-podman-args "--name=greatName"
## assert-podman-args "--name" "greatName"
[Unit]
Wants=network-online.target

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args --creds=myname:mypassword
## assert-podman-args "--creds" "myname:mypassword"
[Image]
Image=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args --decryption-key=/etc/keys/decrypt:passphrase
## assert-podman-args "--decryption-key" "/etc/keys/decrypt:passphrase"
[Image]
Image=localhost/imagename

View File

@@ -1,9 +1,9 @@
## assert-podman-args --device=/dev/fuse
## assert-podman-args --device=/dev/loop0:r
## assert-podman-args --device=/dev/null:/dev/test
## !assert-podman-args --device=/dev/bogus:r
## !assert-podman-args --device=/dev/bogus
## !assert-podman-args --device=/dev/bogus1
## assert-podman-args --device /dev/fuse
## assert-podman-args --device /dev/loop0:r
## assert-podman-args --device /dev/null:/dev/test
## !assert-podman-args --device /dev/bogus:r
## !assert-podman-args --device /dev/bogus
## !assert-podman-args --device /dev/bogus1
[Container]
Image=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-pre-args "--dns-option=ndots:1"
## assert-podman-pre-args "--dns-option=color:blue"
## assert-podman-pre-args "--dns-option" "ndots:1"
## assert-podman-pre-args "--dns-option" "color:blue"
[Pod]
DNSOption=ndots:1

View File

@@ -1,7 +1,7 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args "--dns-option=ndots:1"
## assert-podman-args "--dns-option=color:blue"
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args "--dns-option" "ndots:1"
## assert-podman-args "--dns-option" "color:blue"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args "--dns-option=ndots:1"
## assert-podman-args "--dns-option=color:blue"
## assert-podman-args "--dns-option" "ndots:1"
## assert-podman-args "--dns-option" "color:blue"
[Container]
Image=localhost/imagename

View File

@@ -1,7 +1,7 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args "--dns-search=foo.com"
## assert-podman-args "--dns-search=bar.com"
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args "--dns-search" "foo.com"
## assert-podman-args "--dns-search" "bar.com"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args "--dns-search=foo.com"
## assert-podman-args "--dns-search=bar.com"
## assert-podman-args "--dns-search" "foo.com"
## assert-podman-args "--dns-search" "bar.com"
[Container]
Image=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-pre-args "--dns-search=foo.com"
## assert-podman-pre-args "--dns-search=bar.com"
## assert-podman-pre-args "--dns-search" "foo.com"
## assert-podman-pre-args "--dns-search" "bar.com"
[Pod]
DNSSearch=foo.com

View File

@@ -1,7 +1,7 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args "--dns=8.7.7.7"
## assert-podman-args "--dns=8.8.8.8"
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args "--dns" "8.7.7.7"
## assert-podman-args "--dns" "8.8.8.8"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args "--dns=8.7.7.7"
## assert-podman-args "--dns=8.8.8.8"
## assert-podman-args "--dns" "8.7.7.7"
## assert-podman-args "--dns" "8.8.8.8"
[Container]
Image=localhost/imagename

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args systemd-dns
## assert-podman-args "--dns=8.7.7.7"
## assert-podman-args "--dns=8.8.8.8"
## assert-podman-args "--dns" "8.7.7.7"
## assert-podman-args "--dns" "8.8.8.8"
[Network]
DNS=8.7.7.7

View File

@@ -1,5 +1,5 @@
## assert-podman-pre-args "--dns=8.7.7.7"
## assert-podman-pre-args "--dns=8.8.8.8"
## assert-podman-pre-args "--dns" "8.7.7.7"
## assert-podman-pre-args "--dns" "8.8.8.8"
[Pod]
DNS=8.7.7.7

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args systemd-driver
## assert-podman-args "--driver=macvlan"
## assert-podman-args "--driver" "macvlan"
[Network]
Driver=macvlan

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args "--entrypoint=top"
## assert-podman-args "--entrypoint" "top -b"
[Container]
Image=localhost/imagename
Entrypoint=top
Entrypoint=top -b

View File

@@ -1,10 +1,10 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args --env "FOO1=foo1"
## assert-podman-args --env "FOO2=foo2 "
## assert-podman-args --env "FOO3=foo3"
## assert-podman-args --env "REPLACE=replaced"
## assert-podman-args --env "FOO4=foo\\nfoo"
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args "--env" "FOO1=foo1"
## assert-podman-args "--env" "FOO2=foo2 "
## assert-podman-args "--env" "FOO3=foo3"
## assert-podman-args "--env" "REPLACE=replaced"
## assert-podman-args "--env" "FOO4=foo\\nfoo"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,4 +1,4 @@
## assert-podman-final-args --file=/etc/containers/systemd/Containerfile
## assert-podman-final-args "--file" "/etc/containers/systemd/Containerfile"
[Build]
File=/etc/containers/systemd/Containerfile

View File

@@ -1,5 +1,5 @@
## assert-podman-args --tag=localhost/podman-hello
## assert-podman-args --file=https://raw.githubusercontent.com/containers/PodmanHello/main/Containerfile
## assert-podman-args "--tag" "localhost/podman-hello"
## assert-podman-args "--file" "https://raw.githubusercontent.com/containers/PodmanHello/main/Containerfile"
[Build]
File=https://raw.githubusercontent.com/containers/PodmanHello/main/Containerfile

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args .
## assert-podman-args-regex "--file=Containerfile"
## assert-podman-args-regex "--file" "Containerfile"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args --force-rm=false
[Build]

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args systemd-gateway
## assert-podman-args "--subnet=192.168.1.0/24" "--gateway=192.168.1.1"
## assert-podman-args "--subnet" "192.168.1.0/24" "--gateway" "192.168.1.1"
[Network]
Subnet=192.168.1.0/24

View File

@@ -1,5 +1,5 @@
## assert-podman-args "--group-add=keep-groups"
## assert-podman-args "--group-add=users"
## assert-podman-args "--group-add" "keep-groups"
## assert-podman-args "--group-add" "users"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-args "--group-add=keep-groups"
## assert-podman-args "--group-add=users"
## assert-podman-args "--group-add" "keep-groups"
## assert-podman-args "--group-add" "users"
[Container]
Image=localhost/imagename

View File

@@ -1,6 +1,6 @@
[Container]
Image=localhost/imagename
## assert-podman-args "--add-host=my-host-name:192.168.10.10"
## assert-podman-args "--add-host" "my-host-name:192.168.10.10"
AddHost=my-host-name:192.168.10.10
## assert-podman-args "--add-host=my-second-host-name:192.168.10.11"
## assert-podman-args "--add-host" "my-second-host-name:192.168.10.11"
AddHost=my-second-host-name:192.168.10.11

View File

@@ -1,5 +1,5 @@
[Pod]
## assert-podman-pre-args "--add-host=my-host-name:192.168.10.10"
## assert-podman-pre-args "--add-host" "my-host-name:192.168.10.10"
AddHost=my-host-name:192.168.10.10
## assert-podman-pre-args "--add-host=my-second-host-name:192.168.10.11"
## assert-podman-pre-args "--add-host" "my-second-host-name:192.168.10.11"
AddHost=my-second-host-name:192.168.10.11

View File

@@ -1,7 +1,7 @@
## assert-podman-args "--uidmap=0:10000:10"
## assert-podman-args "--uidmap=10:20000:10"
## assert-podman-args "--gidmap=0:10000:10"
## assert-podman-args "--gidmap=10:20000:10"
## assert-podman-args "--uidmap" "0:10000:10"
## assert-podman-args "--uidmap" "10:20000:10"
## assert-podman-args "--gidmap" "0:10000:10"
## assert-podman-args "--gidmap" "10:20000:10"
[Container]
Image=localhost/imagename

View File

@@ -1,4 +1,4 @@
## assert-podman-args --driver=image
## assert-podman-args --driver image
## assert-podman-args --opt image=localhost/imagename
## assert-key-is "Unit" "Requires" "basic.service"
## assert-key-is "Unit" "After" "basic.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-args --driver=image
## assert-podman-args --driver image
## assert-podman-args --opt image=localhost/imagename
## assert-key-is "Unit" "Requires" "basic-image.service"
## assert-key-is "Unit" "After" "basic-image.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-args --driver=image
## assert-podman-args --driver image
## assert-podman-args --opt image=localhost/imagename
[Volume]

View File

@@ -1,5 +1,5 @@
## assert-podman-pre-args "--ip=10.88.64.128"
## assert-podman-pre-args "--ip6=fd46:db93:aa76:ac37::10"
## assert-podman-pre-args "--ip" "10.88.64.128"
## assert-podman-pre-args "--ip6" "fd46:db93:aa76:ac37::10"
[Pod]
IP=10.88.64.128

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args systemd-ipam-driver
## assert-podman-args "--ipam-driver=dhcp"
## assert-podman-args "--ipam-driver" "dhcp"
[Network]
IPAMDriver=dhcp

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args "--label" "org.foo.Arg0=arg0"
## assert-podman-args "--label" "org.foo.Arg1=arg1"
## assert-podman-args "--label" "org.foo.Arg2=arg 2"

View File

@@ -1,5 +1,5 @@
## assert-podman-args --tag=localhost/imagename:v1
## assert-podman-args --tag=localhost/imagename:latest
## assert-podman-args "--tag" "localhost/imagename:v1"
## assert-podman-args "--tag" "localhost/imagename:latest"
[Build]
ImageTag=localhost/imagename:v1

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--name=foobar"
## assert-podman-args "--name" "foobar"
[Container]
Image=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-pre-args "--name=test-pod"
## assert-podman-pre-args "--infra-name=test-pod-infra"
## assert-podman-pre-args "--name" "test-pod"
## assert-podman-pre-args "--infra-name" "test-pod-infra"
[Pod]
PodName=test-pod

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args "--network=host"
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args "--network" "host"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--network=host"
## assert-podman-args "--network" "host"
[Container]
Image=localhost/imagename

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--network=basic"
## assert-podman-args --network basic
[Kube]
Yaml=deployment.yml

View File

@@ -1,4 +1,4 @@
## assert-podman-pre-args "--network=host"
## assert-podman-pre-args --network host
## assert-podman-pre-args --publish 127.0.0.1:80:90
[Pod]

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--network=systemd-basic"
## assert-podman-args "--network" "systemd-basic"
## assert-key-is "Unit" "Requires" "basic-network.service"
## assert-key-is "Unit" "After" "network-online.target" "basic-network.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--network=systemd-basic"
## assert-podman-args "--network" "systemd-basic"
## assert-key-is "Unit" "Requires" "basic-network.service"
## assert-key-is "Unit" "After" "network-online.target" "basic-network.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--network=systemd-basic"
## assert-podman-args "--network" "systemd-basic"
## assert-key-is "Unit" "Requires" "basic-network.service"
## assert-key-is "Unit" "After" "basic-network.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-pre-args "--network=systemd-basic"
## assert-podman-pre-args "--network" "systemd-basic"
## assert-key-is "Unit" "Requires" "basic-network.service"
## assert-key-is "Unit" "After" "basic-network.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--network=test-network"
## assert-podman-args "--network" "test-network"
## assert-key-is "Unit" "Requires" "basic.service"
## assert-key-is "Unit" "After" "network-online.target" "basic.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--network=test-network"
## assert-podman-args "--network" "test-network"
## assert-key-is "Unit" "Requires" "basic.service"
## assert-key-is "Unit" "After" "network-online.target" "basic.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--network=test-network"
## assert-podman-args "--network" "test-network"
## assert-key-is "Unit" "Requires" "basic.service"
## assert-key-is "Unit" "After" "basic.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--network=container:systemd-basic"
## assert-podman-args "--network" "container:systemd-basic"
## assert-key-is "Unit" "Requires" "basic.service"
## assert-key-is "Unit" "After" "network-online.target" "basic.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--network=container:foobar"
## assert-podman-args "--network" "container:foobar"
## assert-key-is "Unit" "Requires" "name.service"
## assert-key-is "Unit" "After" "network-online.target" "name.service"

View File

@@ -1,4 +1,4 @@
## assert-podman-pre-args "--network=test-network"
## assert-podman-pre-args "--network" "test-network"
## assert-key-is "Unit" "Requires" "basic.service"
## assert-key-is "Unit" "After" "basic.service"

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args --os=windows
## assert-podman-args "--os" "windows"
[Image]
Image=localhost/imagename

View File

@@ -1,8 +1,8 @@
[Container]
Image=localhost/imagename
## assert-podman-args --expose=1000
## assert-podman-args --expose 1000
ExposeHostPort=1000
## assert-podman-args --expose=2000-3000
## assert-podman-args --expose 2000-3000
ExposeHostPort=2000-3000
## assert-podman-args --publish 127.0.0.1:80:90
@@ -52,8 +52,8 @@ PublishPort=127.0.0.1:1234:1234/tcp
## assert-podman-args --publish ${PORT}:${PORT}
PublishPort=${PORT}:${PORT}
## assert-podman-args --expose=2000-3000/udp
## assert-podman-args --expose 2000-3000/udp
ExposeHostPort=2000-3000/udp
## assert-podman-args --expose=2000-3000/tcp
## assert-podman-args --expose 2000-3000/tcp
ExposeHostPort=2000-3000/tcp

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args --pull=never
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args "--pull" "never"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args --name=RemoveQuotes\"Name
## assert-podman-args "--name" "RemoveQuotes\"Name"
[Container]
Image="localhost/imagename"

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args systemd-range
## assert-podman-args "--subnet=192.168.1.0/24" "--ip-range=192.168.1.0/32"
## assert-podman-args "--subnet" "192.168.1.0/24" "--ip-range" "192.168.1.0/32"
[Network]
Subnet=192.168.1.0/24

View File

@@ -1,4 +1,4 @@
## assert-podman-args --userns=auto
## assert-podman-args --userns auto
[Container]
Image=localhost/imagename

View File

@@ -1,4 +1,4 @@
## assert-podman-args --userns=auto
## assert-podman-args --userns auto
[Kube]
Yaml=/opt/k8s/deployment.yml

View File

@@ -1,4 +1,4 @@
## assert-podman-pre-args --userns=auto
## assert-podman-pre-args --userns auto
[Pod]
RemapUsers=auto

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--userns=auto:uidmapping=0:10000:10,uidmapping=10:20000:10,gidmapping=0:10000:10,gidmapping=10:20000:10,size=20"
## assert-podman-args "--userns" "auto:uidmapping=0:10000:10,uidmapping=10:20000:10,gidmapping=0:10000:10,gidmapping=10:20000:10,size=20"
[Container]
Image=localhost/imagename

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--userns=auto:uidmapping=0:10000:10,uidmapping=10:20000:10,gidmapping=0:10000:10,gidmapping=10:20000:10,size=20"
## assert-podman-args "--userns" "auto:uidmapping=0:10000:10,uidmapping=10:20000:10,gidmapping=0:10000:10,gidmapping=10:20000:10,size=20"
[Kube]
Yaml=/opt/k8s/deployment.yml

View File

@@ -1,4 +1,4 @@
## assert-podman-pre-args "--userns=auto:uidmapping=0:10000:10,uidmapping=10:20000:10,gidmapping=0:10000:10,gidmapping=10:20000:10,size=20"
## assert-podman-pre-args "--userns" "auto:uidmapping=0:10000:10,uidmapping=10:20000:10,gidmapping=0:10000:10,gidmapping=10:20000:10,size=20"
[Pod]
RemapUsers=auto

View File

@@ -1,4 +1,4 @@
## assert-podman-args --userns=keep-id
## assert-podman-args --userns keep-id
[Container]
Image=localhost/imagename

View File

@@ -1,4 +1,4 @@
## assert-podman-pre-args --userns=keep-id
## assert-podman-pre-args --userns keep-id
[Pod]
RemapUsers=keep-id

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--userns=keep-id:uid=200,gid=210"
## assert-podman-args --userns keep-id:uid=200,gid=210
[Container]
Image=localhost/imagename

View File

@@ -1,7 +1,7 @@
## assert-podman-args "--uidmap=0:10000:10"
## assert-podman-args "--uidmap=10:20000:10"
## assert-podman-args "--gidmap=0:10000:10"
## assert-podman-args "--gidmap=10:20000:10"
## assert-podman-args "--uidmap" "0:10000:10"
## assert-podman-args "--uidmap" "10:20000:10"
## assert-podman-args "--gidmap" "0:10000:10"
## assert-podman-args "--gidmap" "10:20000:10"
[Container]
Image=localhost/imagename

View File

@@ -1,7 +1,7 @@
## assert-podman-pre-args "--uidmap=0:10000:10"
## assert-podman-pre-args "--uidmap=10:20000:10"
## assert-podman-pre-args "--gidmap=0:10000:10"
## assert-podman-pre-args "--gidmap=10:20000:10"
## assert-podman-pre-args "--uidmap" "0:10000:10"
## assert-podman-pre-args "--uidmap" "10:20000:10"
## assert-podman-pre-args "--gidmap" "0:10000:10"
## assert-podman-pre-args "--gidmap" "10:20000:10"
[Pod]
RemapUsers=manual

View File

@@ -1,4 +1,4 @@
## assert-podman-args --tag=localhost/imagename
## assert-podman-args "--tag" "localhost/imagename"
[Build]
ServiceName=basic

View File

@@ -1,4 +1,4 @@
## assert-podman-pre-args "--name=test-pod"
## assert-podman-pre-args "--name" "test-pod"
[Pod]
ServiceName=basic

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args https://github.com/containers/PodmanHello/archive/refs/heads/main.tar.gz
## assert-podman-args --tag=localhost/podman-hello-archive
## assert-podman-args --file=PodmanHello-main/Containerfile
## assert-podman-args "--tag" "localhost/podman-hello-archive"
## assert-podman-args "--file" "PodmanHello-main/Containerfile"
[Build]
ImageTag=localhost/podman-hello-archive

View File

@@ -1,4 +1,4 @@
## assert-podman-args --file=/etc/containers/systemd/Containerfile
## assert-podman-args "--file" "/etc/containers/systemd/Containerfile"
## assert-key-is "Service" "WorkingDirectory" "/etc/containers/systemd"
[Build]

View File

@@ -1,4 +1,4 @@
## assert-podman-args --file=Containerfile
## assert-podman-args "--file" "Containerfile"
## assert-key-is-regex "Service" "WorkingDirectory" "/.*/podman-e2e-.*/subtest-.*/quadlet"
[Build]

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args git://git@git.sr.ht/~emersion/sr.ht-container-compose
## assert-podman-args --tag=localhost/podman-hello
## assert-podman-args "--tag" "localhost/podman-hello"
[Build]
ImageTag=localhost/podman-hello

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args github.com/containers/PodmanHello.git
## assert-podman-args --tag=localhost/podman-hello
## assert-podman-args "--tag" "localhost/podman-hello"
[Build]
ImageTag=localhost/podman-hello

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args https://github.com/containers/PodmanHello.git
## assert-podman-args --tag=localhost/podman-hello
## assert-podman-args "--tag" "localhost/podman-hello"
[Build]
ImageTag=localhost/podman-hello

View File

@@ -1,4 +1,4 @@
## assert-podman-args "--shm-size=5g"
## assert-podman-args "--shm-size" "5g"
[Container]
Image=localhost/imagename

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args systemd-subnet-trio.multiple
## assert-podman-args "--subnet=192.168.1.0/24" "--gateway=192.168.1.1" "--ip-range=192.168.1.0/32"
## assert-podman-args "--subnet=192.168.2.0/24" "--gateway=192.168.2.1" "--ip-range=192.168.2.0/32"
## assert-podman-args "--subnet" "192.168.1.0/24" "--gateway" "192.168.1.1" "--ip-range" "192.168.1.0/32"
## assert-podman-args "--subnet" "192.168.2.0/24" "--gateway" "192.168.2.1" "--ip-range" "192.168.2.0/32"
[Network]
Subnet=192.168.1.0/24

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args systemd-subnet-trio
## assert-podman-args "--subnet=192.168.1.0/24" "--gateway=192.168.1.1" "--ip-range=192.168.1.0/32"
## assert-podman-args "--subnet" "192.168.1.0/24" "--gateway" "192.168.1.1" "--ip-range" "192.168.1.0/32"
[Network]
Subnet=192.168.1.0/24

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args systemd-subnets
## assert-podman-args "--subnet=192.168.0.0/24"
## assert-podman-args "--subnet=192.168.1.0/24"
## assert-podman-args "--subnet" "192.168.0.0/24"
## assert-podman-args "--subnet" "192.168.1.0/24"
[Network]
Subnet=192.168.0.0/24

View File

@@ -1,6 +1,6 @@
## assert-podman-args "--sysctl=net.ipv6.conf.all.disable_ipv6=1"
## assert-podman-args "--sysctl=net.ipv6.conf.all.use_tempaddr=1"
## assert-podman-args "--sysctl=net.ipv4.conf.lo.force_igmp_version=0"
## assert-podman-args "--sysctl" "net.ipv6.conf.all.disable_ipv6=1"
## assert-podman-args "--sysctl" "net.ipv6.conf.all.use_tempaddr=1"
## assert-podman-args "--sysctl" "net.ipv4.conf.lo.force_igmp_version=0"
[Container]
Image=localhost/imagename

View File

@@ -1,6 +1,6 @@
## assert-podman-final-args-regex /.*/podman-e2e-.*/subtest-.*/quadlet
## assert-podman-args --tag=localhost/imagename
## assert-podman-args --target=my-app
## assert-podman-args "--tag" "localhost/imagename"
## assert-podman-args "--target" "my-app"
[Build]
ImageTag=localhost/imagename

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args localhost/imagename
## assert-podman-args "--name=systemd-%p_%i"
## assert-podman-args "--name" "systemd-%p_%i"
## assert-symlink want.service.wants/template@default.service ../template@.service
## assert-podman-args --env "FOO=bar"

View File

@@ -1,5 +1,5 @@
## assert-podman-final-args localhost/changed-image
## assert-podman-args "--name=systemd-%p_%i"
## assert-podman-args "--name" "systemd-%p_%i"
## assert-symlink want.service.wants/template@instance.service ../template@instance.service
## assert-podman-args --env "FOO=bar"

View File

@@ -1,4 +1,4 @@
## assert-podman-args --tz=foo
## assert-podman-args "--tz" "foo"
[Container]
Image=localhost/imagename

Some files were not shown because too many files have changed in this diff Show More