Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DelegateNetConf ¶
type DelegateNetConf struct { types.NetConf IfnameRequest string `json:"ifnameRequest,omitempty"` // MasterPlugin is only used internal housekeeping MasterPlugin bool `json:"-"` // Raw JSON Bytes []byte }
func LoadDelegateNetConf ¶
func LoadDelegateNetConf(bytes []byte) (*DelegateNetConf, error)
Convert raw CNI JSON into a DelegateNetConf structure
type K8sArgs ¶
type K8sArgs struct { types.CommonArgs IP net.IP K8S_POD_NAME types.UnmarshallableString K8S_POD_NAMESPACE types.UnmarshallableString K8S_POD_INFRA_CONTAINER_ID types.UnmarshallableString }
K8sArgs is the valid CNI_ARGS used for Kubernetes
type NetConf ¶
type NetConf struct { types.NetConf // support chaining for master interface and IP decisions // occurring prior to running ipvlan plugin RawPrevResult *map[string]interface{} `json:"prevResult"` PrevResult *current.Result `json:"-"` ConfDir string `json:"confDir"` CNIDir string `json:"cniDir"` // RawDelegates is private to the NetConf class; use Delegates instead RawDelegates []map[string]interface{} `json:"delegates"` Delegates []*DelegateNetConf `json:"-"` Kubeconfig string `json:"kubeconfig"` }
NetConf for cni config file written in json
func LoadNetConf ¶
func (*NetConf) AddDelegates ¶
func (n *NetConf) AddDelegates(newDelegates []*DelegateNetConf) error
AddDelegates appends the new delegates to the delegates list
type Network ¶
type Network struct { metav1.TypeMeta `json:",inline"` // Note that ObjectMeta is mandatory, as an object // name is required Metadata metav1.ObjectMeta `json:"metadata,omitempty" description:"standard object metadata"` // Specification describing how to invoke a CNI plugin to // add or remove network attachments for a Pod. // In the absence of valid keys in a Spec, the runtime (or // meta-plugin) should load and execute a CNI .configlist // or .config (in that order) file on-disk whose JSON // “name” key matches this Network object’s name. // +optional Spec NetworkSpec `json:"spec"` }
type NetworkSelectionElement ¶
type NetworkSelectionElement struct { // Name contains the name of the Network object this element selects Name string `json:"name"` // Namespace contains the optional namespace that the network referenced // by Name exists in Namespace string `json:"namespace,omitempty"` // IPRequest contains an optional requested IP address for this network // attachment IPRequest string `json:"ipRequest,omitempty"` // MacRequest contains an optional requested MAC address for this // network attachment MacRequest string `json:"macRequest,omitempty"` // InterfaceRequest contains an optional requested name for the // network interface this attachment will create in the container InterfaceRequest string `json:"interfaceRequest,omitempty"` }
NetworkSelectionElement represents one element of the JSON format Network Attachment Selection Annotation as described in section 4.1.2 of the CRD specification.
type NetworkSpec ¶
type NetworkSpec struct { // Config contains a standard JSON-encoded CNI configuration // or configuration list which defines the plugin chain to // execute. If present, this key takes precedence over // ‘Plugin’. // +optional Config string `json:"config"` // Plugin contains the name of a CNI plugin on-disk in a // runtime-defined path (eg /opt/cni/bin and/or other paths. // This plugin should be executed with a basic CNI JSON // configuration on stdin containing the Network object // name and the plugin: // { “cniVersion”: “0.3.1”, “type”: <Plugin>, “name”: <Network.Name> } // and any additional “runtimeConfig” field per the // CNI specification and conventions. // +optional Plugin string `json:"plugin"` }
Click to show internal directories.
Click to hide internal directories.