Documentation ¶
Overview ¶
Package v1 is the v1 version of the API. +groupName=danm.k8s.io
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type CniBackend
- type DanmEp
- type DanmEpIface
- type DanmEpList
- type DanmEpSpec
- type DanmNet
- type DanmNetList
- type DanmNetOption
- type DanmNetSpec
- type IP4Pool
- type Interface
- type IpamConfig
- type IpamRoute
Constants ¶
const (
OptimisticLockErrorMsg = "the object has been modified; please apply your changes to the latest version and try again"
)
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: danm.GroupName, Version: "v1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type CniBackend ¶
type DanmEp ¶
type DanmEp struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ObjectMeta `json:"metadata"` Spec DanmEpSpec `json:"spec"` }
+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DanmEpIface ¶
type DanmEpList ¶
type DanmEpList struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ListMeta `json:"metadata"` Items []DanmEp `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DanmEpSpec ¶
type DanmEpSpec struct { NetworkID string `json:"NetworkID"` NetworkType string `json:"NetworkType"` EndpointID string `json:"EndpointID"` Iface DanmEpIface `json:"Interface"` Host string `json:"Host,omitempty"` Pod string `json:"Pod"` CID string `json:"CID,omitempty"` Netns string `json:"netns,omitempty"` Creator string `json:"Creator,omitempty"` Expires string `json:"Expires,omitempty"` }
type DanmNet ¶
type DanmNet struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ObjectMeta `json:"metadata"` Spec DanmNetSpec `json:"spec"` }
+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DanmNetList ¶
type DanmNetList struct { meta_v1.TypeMeta `json:",inline"` meta_v1.ListMeta `json:"metadata"` Items []DanmNet `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DanmNetOption ¶
type DanmNetOption struct { // The device to where the network is attached Device string `json:"host_device"` // the vxlan id on the host device (creation of vxlan interface) Vxlan int `json:"vxlan,omitempty"` // The name of the interface in the container Prefix string `json:"container_prefix"` // IPv4 specific parameters // IPv4 network address Cidr string `json:"cidr,omitempty"` // IPv4 routes for this network Routes map[string]string `json:"routes,omitempty"` // bit array of tracking address allocation Alloc string `json:"alloc,omitempty"` // subset of the Cidr from where dynamic IP address allocation happens Pool IP4Pool `json:"allocation_pool,omitEmpty"` // IPv6 specific parameters // IPv6 unique global address prefix Net6 string `json:"net6,omitempty"` // IPv6 routes for this network Routes6 map[string]string `json:"routes6,omitempty"` // Routing table number for policy routing RTables int `json:"rt_tables"` // the VLAN id of the VLAN interface created on top of the host device Vlan int `json:"vlan,omitempty"` // option to determinate if DPDK options should be used Dpdk bool `json:"dpdk,omitempty"` }
type DanmNetSpec ¶
type DanmNetSpec struct { NetworkID string `json:"NetworkID"` NetworkType string `json:"NetworkType,omitempty"` Options DanmNetOption `json:"Options"` Validation string `json:"Validation,omitempty"` }
type Interface ¶
type Interface struct { Network string `json:"network"` Ip string `json:"ip"` Ip6 string `json:"ip6"` Proutes map[string]string `json:"proutes"` Proutes6 map[string]string `json:"proutes6"` DefaultIfaceName string }
Interface represents a request coming from the Pod to connect it to one DanmNet during CNI_ADD operation It contains the name of the DanmNet the Pod should be connected to, and other optional requests Pods can influence the scheme of IP allocation (dynamic, static, none), and can ask for the provisioning of policy-based IP routes