Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CNITestArgs ¶
type CNITestArgs struct { types.CommonArgs CNI_TEST_NAMESPACE types.UnmarshallableString }
CNITestArgs is the CNI_ARGS used for test purposes.
type ContainerSettings ¶
type ContainerSettings struct {
AllowIPForwarding bool `json:"allow_ip_forwarding"`
}
ContainerSettings gcontains configuration options to be configured inside the container namespace.
type FeatureControl ¶
type FeatureControl struct { IPAddrsNoIpam bool `json:"ip_addrs_no_ipam"` FloatingIPs bool `json:"floating_ips"` }
FeatureControl is a struct which controls which features are enabled in Calico.
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 Kubernetes ¶
type Kubernetes struct { K8sAPIRoot string `json:"k8s_api_root"` Kubeconfig string `json:"kubeconfig"` NodeName string `json:"node_name"` }
Kubernetes a K8s specific struct to hold config
type Mesos ¶
type Mesos struct {
NetworkInfo NetworkInfo `json:"network_info"`
}
type NetConf ¶
type NetConf struct { CNIVersion string `json:"cniVersion,omitempty"` Name string `json:"name"` Type string `json:"type"` Mode string `json:"mode"` VXLANMacPrefix string `json:"vxlan_mac_prefix"` VXLANVNI uint64 `json:"vxlan_vni"` IPAM struct { Name string Type string `json:"type"` Subnet string `json:"subnet"` AssignIpv4 *string `json:"assign_ipv4"` AssignIpv6 *string `json:"assign_ipv6"` IPv4Pools []string `json:"ipv4_pools,omitempty"` IPv6Pools []string `json:"ipv6_pools,omitempty"` } `json:"ipam,omitempty"` Args Args `json:"args"` MTU int `json:"mtu"` NumQueues int `json:"num_queues"` Nodename string `json:"nodename"` NodenameFile string `json:"nodename_file"` IPAMLockFile string `json:"ipam_lock_file"` NodenameFileOptional bool `json:"nodename_file_optional"` DatastoreType string `json:"datastore_type"` EtcdEndpoints string `json:"etcd_endpoints"` EtcdDiscoverySrv string `json:"etcd_discovery_srv"` LogLevel string `json:"log_level"` LogFilePath string `json:"log_file_path"` LogFileMaxSize int `json:"log_file_max_size"` LogFileMaxAge int `json:"log_file_max_age"` LogFileMaxCount int `json:"log_file_max_count"` Policy Policy `json:"policy"` Kubernetes Kubernetes `json:"kubernetes"` FeatureControl FeatureControl `json:"feature_control"` EtcdScheme string `json:"etcd_scheme"` EtcdKeyFile string `json:"etcd_key_file"` EtcdCertFile string `json:"etcd_cert_file"` EtcdCaCertFile string `json:"etcd_ca_cert_file"` ContainerSettings ContainerSettings `json:"container_settings,omitempty"` IncludeDefaultRoutes bool `json:"include_default_routes,omitempty"` DataplaneOptions map[string]interface{} `json:"dataplane_options,omitempty"` // Windows-specific configuration. // WindowsPodDeletionTimestampTimeout defines number of seconds before a pod deletion timestamp timeout and // should be removed from registry. Default: 600 seconds WindowsPodDeletionTimestampTimeout int `json:"windows_pod_deletion_timestamp_timeout,omitempty"` // WindowsUseSingleNetwork disables the use of multiple IPAM blocks on a single host and forces // a static HNS network name. WindowsUseSingleNetwork bool `json:"windows_use_single_network,omitempty"` // WindowsDisableDefaultBlockAllPolicy disables the default "block all traffic" policy on the pod endpoint. // By default, WindowsDisableDefaultBlockAllPolicy = false, as the default "block all traffic" policy is placed at // the time of creating the pod network. // If WindowsDisableDefaultBlockAllPolicy = true, then the default policy is disabled and pod network // is created without "block all traffic" policy. WindowsDisableDefaultDenyAllPolicy bool `json:"windows_disable_default_deny_all_policy"` // WindowsLoopbackDSR indicates if the running platform supports loopback DSR. WindowsLoopbackDSR bool `json:"windows_loopback_DSR,omitempty"` RuntimeConfig RuntimeConfig // The CNI plugin waits until all the endpoints specified in ReadinessGates are ready ReadinessGates []string `json:"readiness_gates"` // Options below here are deprecated. EtcdAuthority string `json:"etcd_authority"` Hostname string `json:"hostname"` }
NetConf stores the common network config for Calico CNI plugin
type NetworkInfo ¶
type Policy ¶
type Policy struct { PolicyType string `json:"type"` K8sAPIRoot string `json:"k8s_api_root"` K8sAuthToken string `json:"k8s_auth_token"` K8sClientCertificate string `json:"k8s_client_certificate"` K8sClientKey string `json:"k8s_client_key"` K8sCertificateAuthority string `json:"k8s_certificate_authority"` }
Policy is a struct to hold policy config (which currently happens to also contain some K8s config)
type RuntimeConfig ¶
type RuntimeConfig struct {
DNS RuntimeConfigDNS
}
Runtime Config is provided by kubernetes
type RuntimeConfigDNS ¶
type RuntimeConfigDNS struct { Nameservers []string `json:"servers,omitempty"` Domain string `json:"domain,omitempty"` Search []string `json:"searches,omitempty"` Options []string `json:"options,omitempty"` }
DNS entry for RuntimeConfig DNS The JSON entries for RuntimeConfig.DNS and default DNS have different parameter names