types

package
v0.0.0-...-21cfbab Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 10, 2023 License: Apache-2.0, Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Args

type Args struct {
	Mesos Mesos `json:"org.apache.mesos,omitempty"`
}

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 NetworkInfo struct {
	Name   string `json:"name"`
	Labels struct {
		Labels []struct {
			Key   string `json:"key"`
			Value string `json:"value"`
		} `json:"labels,omitempty"`
	} `json:"labels,omitempty"`
}

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL