diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-03-27 16:25:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-27 16:25:30 +0100 |
commit | 4233250c430a8f769048548b6ad6affd0d9e65e0 (patch) | |
tree | 0cf0c3dc86ccf85be3d5098f278021798c3f6b6c /pkg/domain/entities/pods.go | |
parent | 3ddb5b10d53df54346a6d795047124fc4e995699 (diff) | |
parent | e56d5295614b745115abf0198f7b67ae157aae1e (diff) | |
download | podman-4233250c430a8f769048548b6ad6affd0d9e65e0.tar.gz podman-4233250c430a8f769048548b6ad6affd0d9e65e0.tar.bz2 podman-4233250c430a8f769048548b6ad6affd0d9e65e0.zip |
Merge pull request #5611 from baude/v2podcreate
podmanv2 pod create using podspecgen
Diffstat (limited to 'pkg/domain/entities/pods.go')
-rw-r--r-- | pkg/domain/entities/pods.go | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/pkg/domain/entities/pods.go b/pkg/domain/entities/pods.go index 8d594620f..efda17d65 100644 --- a/pkg/domain/entities/pods.go +++ b/pkg/domain/entities/pods.go @@ -1,6 +1,10 @@ package entities -import "time" +import ( + "time" + + "github.com/containers/libpod/pkg/specgen" +) type PodKillOptions struct { All bool @@ -92,3 +96,48 @@ type PodRmReport struct { Err error Id string } + +type PodCreateOptions struct { + CGroupParent string + Hostname string + Infra bool + InfraImage string + InfraCommand string + Labels map[string]string + Name string + Net *NetOptions + Share []string +} + +type PodCreateReport struct { + Id string +} + +func (p PodCreateOptions) ToPodSpecGen(s *specgen.PodSpecGenerator) { + // Basic Config + s.Name = p.Name + s.Hostname = p.Hostname + s.Labels = p.Labels + s.NoInfra = !p.Infra + s.InfraCommand = []string{p.InfraCommand} + s.InfraImage = p.InfraImage + s.SharedNamespaces = p.Share + + // Networking config + s.NetNS = p.Net.Network + s.StaticIP = p.Net.StaticIP + s.StaticMAC = p.Net.StaticMAC + s.PortMappings = p.Net.PublishPorts + s.CNINetworks = p.Net.CNINetworks + if p.Net.DNSHost { + s.NoManageResolvConf = true + } + s.DNSServer = p.Net.DNSServers + s.DNSSearch = p.Net.DNSSearch + s.DNSOption = p.Net.DNSOptions + s.NoManageHosts = p.Net.NoHosts + s.HostAdd = p.Net.AddHosts + + // Cgroup + s.CgroupParent = p.CGroupParent +} |