summaryrefslogtreecommitdiff
path: root/pkg/specgen/pod.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/specgen/pod.go')
-rw-r--r--pkg/specgen/pod.go140
1 files changed, 0 insertions, 140 deletions
diff --git a/pkg/specgen/pod.go b/pkg/specgen/pod.go
deleted file mode 100644
index 1aada83c4..000000000
--- a/pkg/specgen/pod.go
+++ /dev/null
@@ -1,140 +0,0 @@
-package specgen
-
-import (
- "net"
-
- "github.com/cri-o/ocicni/pkg/ocicni"
-)
-
-// PodBasicConfig contains basic configuration options for pods.
-type PodBasicConfig struct {
- // Name is the name of the pod.
- // If not provided, a name will be generated when the pod is created.
- // Optional.
- Name string `json:"name,omitempty"`
- // Hostname is the pod's hostname. If not set, the name of the pod will
- // be used (if a name was not provided here, the name auto-generated for
- // the pod will be used). This will be used by the infra container and
- // all containers in the pod as long as the UTS namespace is shared.
- // Optional.
- Hostname string `json:"hostname,omitempty"`
- // Labels are key-value pairs that are used to add metadata to pods.
- // Optional.
- Labels map[string]string `json:"labels,omitempty"`
- // NoInfra tells the pod not to create an infra container. If this is
- // done, many networking-related options will become unavailable.
- // Conflicts with setting any options in PodNetworkConfig, and the
- // InfraCommand and InfraImages in this struct.
- // Optional.
- NoInfra bool `json:"no_infra,omitempty"`
- // InfraCommand sets the command that will be used to start the infra
- // container.
- // If not set, the default set in the Libpod configuration file will be
- // used.
- // Conflicts with NoInfra=true.
- // Optional.
- InfraCommand []string `json:"infra_command,omitempty"`
- // InfraImage is the image that will be used for the infra container.
- // If not set, the default set in the Libpod configuration file will be
- // used.
- // Conflicts with NoInfra=true.
- // Optional.
- InfraImage string `json:"infra_image,omitempty"`
- // SharedNamespaces instructs the pod to share a set of namespaces.
- // Shared namespaces will be joined (by default) by every container
- // which joins the pod.
- // If not set and NoInfra is false, the pod will set a default set of
- // namespaces to share.
- // Conflicts with NoInfra=true.
- // Optional.
- SharedNamespaces []string `json:"shared_namespaces,omitempty"`
-}
-
-// PodNetworkConfig contains networking configuration for a pod.
-type PodNetworkConfig struct {
- // NetNS is the configuration to use for the infra container's network
- // namespace. This network will, by default, be shared with all
- // containers in the pod.
- // Cannot be set to FromContainer and FromPod.
- // Setting this to anything except "" conflicts with NoInfra=true.
- // Defaults to Bridge as root and Slirp as rootless.
- // Mandatory.
- NetNS Namespace `json:"netns,omitempty"`
- // StaticIP sets a static IP for the infra container. As the infra
- // container's network is used for the entire pod by default, this will
- // thus be a static IP for the whole pod.
- // Only available if NetNS is set to Bridge (the default for root).
- // As such, conflicts with NoInfra=true by proxy.
- // Optional.
- StaticIP *net.IP `json:"static_ip,omitempty"`
- // StaticMAC sets a static MAC for the infra container. As the infra
- // container's network is used for the entire pod by default, this will
- // thus be a static MAC for the entire pod.
- // Only available if NetNS is set to Bridge (the default for root).
- // As such, conflicts with NoInfra=true by proxy.
- // Optional.
- StaticMAC *net.HardwareAddr `json:"static_mac,omitempty"`
- // PortMappings is a set of ports to map into the infra container.
- // As, by default, containers share their network with the infra
- // container, this will forward the ports to the entire pod.
- // Only available if NetNS is set to Bridge or Slirp.
- // Optional.
- PortMappings []ocicni.PortMapping `json:"portmappings,omitempty"`
- // CNINetworks is a list of CNI networks that the infra container will
- // join. As, by default, containers share their network with the infra
- // container, these networks will effectively be joined by the
- // entire pod.
- // Only available when NetNS is set to Bridge, the default for root.
- // Optional.
- CNINetworks []string `json:"cni_networks,omitempty"`
- // NoManageResolvConf indicates that /etc/resolv.conf should not be
- // managed by the pod. Instead, each container will create and manage a
- // separate resolv.conf as if they had not joined a pod.
- // Conflicts with NoInfra=true and DNSServer, DNSSearch, DNSOption.
- // Optional.
- NoManageResolvConf bool `json:"no_manage_resolv_conf,omitempty"`
- // DNSServer is a set of DNS servers that will be used in the infra
- // container's resolv.conf, which will, by default, be shared with all
- // containers in the pod.
- // If not provided, the host's DNS servers will be used, unless the only
- // server set is a localhost address. As the container cannot connect to
- // the host's localhost, a default server will instead be set.
- // Conflicts with NoInfra=true.
- // Optional.
- DNSServer []net.IP `json:"dns_server,omitempty"`
- // DNSSearch is a set of DNS search domains that will be used in the
- // infra container's resolv.conf, which will, by default, be shared with
- // all containers in the pod.
- // If not provided, DNS search domains from the host's resolv.conf will
- // be used.
- // Conflicts with NoInfra=true.
- // Optional.
- DNSSearch []string `json:"dns_search,omitempty"`
- // DNSOption is a set of DNS options that will be used in the infra
- // container's resolv.conf, which will, by default, be shared with all
- // containers in the pod.
- // Conflicts with NoInfra=true.
- // Optional.
- DNSOption []string `json:"dns_option,omitempty"`
- // NoManageHosts indicates that /etc/hosts should not be managed by the
- // pod. Instead, each container will create a separate /etc/hosts as
- // they would if not in a pod.
- // Conflicts with HostAdd.
- NoManageHosts bool `json:"no_manage_hosts,omitempty"`
- // HostAdd is a set of hosts that will be added to the infra container's
- // /etc/hosts that will, by default, be shared with all containers in
- // the pod.
- // Conflicts with NoInfra=true and NoManageHosts.
- // Optional.
- HostAdd []string `json:"hostadd,omitempty"`
-}
-
-// PodCgroupConfig contains configuration options about a pod's cgroups.
-// This will be expanded in future updates to pods.
-type PodCgroupConfig struct {
- // CgroupParent is the parent for the CGroup that the pod will create.
- // This pod cgroup will, in turn, be the default cgroup parent for all
- // containers in the pod.
- // Optional.
- CgroupParent string `json:"cgroup_parent,omitempty"`
-}