Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
 - func K8sErrorToCalico(ke error, id interface{}) error
 - func K8sNodeToCalico(k8sNode *kapiv1.Node) (*model.KVPair, error)
 - func SetCalicoMetadataFromK8sAnnotations(calicoRes Resource, k8sRes Resource)
 - func SetK8sAnnotationsFromCalicoMetadata(k8sRes Resource, calicoRes Resource)
 - type AffinityBlockClient
 - func (c *AffinityBlockClient) Create(ctx context.Context, kvp *model.KVPair) (*model.KVPair, error)
 - func (c *AffinityBlockClient) Delete(ctx context.Context, key model.Key, revision string) (*model.KVPair, error)
 - func (c *AffinityBlockClient) EnsureInitialized() error
 - func (c *AffinityBlockClient) Get(ctx context.Context, key model.Key, revision string) (*model.KVPair, error)
 - func (c *AffinityBlockClient) List(ctx context.Context, list model.ListInterface, revision string) (*model.KVPairList, error)
 - func (c *AffinityBlockClient) Update(ctx context.Context, kvp *model.KVPair) (*model.KVPair, error)
 - func (c *AffinityBlockClient) Watch(ctx context.Context, list model.ListInterface, revision string) (api.WatchInterface, error)
 
- type ConvertK8sResourceToKVPair
 - type K8sNodeResourceClient
 - type K8sResourceClient
 - func NewAffinityBlockClient(c *kubernetes.Clientset) K8sResourceClient
 - func NewBGPConfigClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
 - func NewBGPPeerClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
 - func NewClusterInfoClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
 - func NewFelixConfigClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
 - func NewGlobalNetworkPolicyClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
 - func NewIPPoolClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
 - func NewNetworkPolicyClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
 - func NewNodeClient(c *kubernetes.Clientset) K8sResourceClient
 - func NewProfileClient(c *kubernetes.Clientset) K8sResourceClient
 - func NewWorkloadEndpointClient(c *kubernetes.Clientset) K8sResourceClient
 
- type Resource
 - type ResourceList
 - type WorkloadEndpointClient
 - func (c *WorkloadEndpointClient) Create(ctx context.Context, kvp *model.KVPair) (*model.KVPair, error)
 - func (c *WorkloadEndpointClient) Delete(ctx context.Context, key model.Key, revision string) (*model.KVPair, error)
 - func (c *WorkloadEndpointClient) EnsureInitialized() error
 - func (c *WorkloadEndpointClient) Get(ctx context.Context, key model.Key, revision string) (*model.KVPair, error)
 - func (c *WorkloadEndpointClient) List(ctx context.Context, list model.ListInterface, revision string) (*model.KVPairList, error)
 - func (c *WorkloadEndpointClient) Update(ctx context.Context, kvp *model.KVPair) (*model.KVPair, error)
 - func (c *WorkloadEndpointClient) Watch(ctx context.Context, list model.ListInterface, revision string) (api.WatchInterface, error)
 
Constants ¶
const ( BGPConfigResourceName = "BGPConfigurations" BGPConfigCRDName = "bgpconfigurations.crd.projectcalico.org" )
const ( BGPPeerResourceName = "BGPPeers" BGPPeerCRDName = "bgppeers.crd.projectcalico.org" )
const ( ClusterInfoResourceName = "ClusterInformations" ClusterInfoCRDName = "clusterinformations.crd.projectcalico.org" )
const ( FelixConfigResourceName = "FelixConfigurations" FelixConfigCRDName = "felixconfigurations.crd.projectcalico.org" )
const ( GlobalNetworkPolicyResourceName = "GlobalNetworkPolicies" GlobalNetworkPolicyCRDName = "globalnetworkpolicies.crd.projectcalico.org" )
const ( IPPoolResourceName = "IPPools" IPPoolCRDName = "ippools.crd.projectcalico.org" )
const ( NetworkPolicyResourceName = "NetworkPolicies" NetworkPolicyCRDName = "networkpolicies.crd.projectcalico.org" )
Variables ¶
This section is empty.
Functions ¶
func K8sErrorToCalico ¶
K8sErrorToCalico returns the equivalent libcalico error for the given kubernetes error.
func K8sNodeToCalico ¶ added in v1.2.0
K8sNodeToCalico converts a Kubernetes format node, with Calico annotations, to a Calico Node.
func SetCalicoMetadataFromK8sAnnotations ¶
Extract the Calico resource Metadata from the k8s resource annotations for non-CRD backed resources. This extracts the Annotations and Labels stored as a annotation, and fills in the CreationTimestamp and UID from the k8s resource.
Types ¶
type AffinityBlockClient ¶
type AffinityBlockClient struct {
	// contains filtered or unexported fields
}
    Implements the api.Client interface for AffinityBlocks.
func (*AffinityBlockClient) Create ¶
func (*AffinityBlockClient) Delete ¶
func (*AffinityBlockClient) EnsureInitialized ¶
func (c *AffinityBlockClient) EnsureInitialized() error
func (*AffinityBlockClient) Get ¶
func (*AffinityBlockClient) List ¶
func (c *AffinityBlockClient) List(ctx context.Context, list model.ListInterface, revision string) (*model.KVPairList, error)
func (*AffinityBlockClient) Update ¶
func (*AffinityBlockClient) Watch ¶
func (c *AffinityBlockClient) Watch(ctx context.Context, list model.ListInterface, revision string) (api.WatchInterface, error)
type ConvertK8sResourceToKVPair ¶
Function signature for conversion function to convert a K8s resouce to a KVPair equivalent.
type K8sNodeResourceClient ¶ added in v1.5.0
type K8sNodeResourceClient interface {
	K8sResourceClient
	ExtractResourcesFromNode(node *apiv1.Node) ([]*model.KVPair, error)
}
    K8sNodeResourceClient extends the K8sResourceClient to add a helper method to extract resources from the supplied K8s Node. This convenience interface is expected to be removed in a future libcalico-go release.
type K8sResourceClient ¶ added in v1.5.0
type K8sResourceClient interface {
	// Create creates the object specified in the KVPair, which must not
	// already exist. On success, returns a KVPair for the object with
	// revision  information filled-in.
	Create(ctx context.Context, object *model.KVPair) (*model.KVPair, error)
	// Update modifies the existing object specified in the KVPair.
	// On success, returns a KVPair for the object with revision
	// information filled-in.  If the input KVPair has revision
	// information then the update only succeeds if the revision is still
	// current.
	Update(ctx context.Context, object *model.KVPair) (*model.KVPair, error)
	// Delete removes the object specified by the KVPair.  If the KVPair
	// contains revision information, the delete only succeeds if the
	// revision is still current.
	Delete(ctx context.Context, key model.Key, revision string) (*model.KVPair, error)
	// Get returns the object identified by the given key as a KVPair with
	// revision information.
	Get(ctx context.Context, key model.Key, revision string) (*model.KVPair, error)
	// List returns a slice of KVPairs matching the input list options.
	// list should be passed one of the model.<Type>ListOptions structs.
	// Non-zero fields in the struct are used as filters.
	List(ctx context.Context, list model.ListInterface, revision string) (*model.KVPairList, error)
	// Watch returns a WatchInterface used for watching a resources matching the
	// input list options.
	Watch(ctx context.Context, list model.ListInterface, revision string) (api.WatchInterface, error)
	// EnsureInitialized ensures that the backend is initialized
	// any ready to be used.
	EnsureInitialized() error
}
    K8sResourceClient is the interface to the k8s datastore for CRUD operations on an individual resource (one for each of the *model* types supported by the K8s backend).
Defining a separate client interface from api.Client allows the k8s-specific client to diverge.
func NewAffinityBlockClient ¶
func NewAffinityBlockClient(c *kubernetes.Clientset) K8sResourceClient
func NewBGPConfigClient ¶
func NewBGPConfigClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
func NewBGPPeerClient ¶
func NewBGPPeerClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
func NewClusterInfoClient ¶
func NewClusterInfoClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
func NewFelixConfigClient ¶
func NewFelixConfigClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
func NewGlobalNetworkPolicyClient ¶ added in v1.6.0
func NewGlobalNetworkPolicyClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
func NewIPPoolClient ¶ added in v1.5.0
func NewIPPoolClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
func NewNetworkPolicyClient ¶
func NewNetworkPolicyClient(c *kubernetes.Clientset, r *rest.RESTClient) K8sResourceClient
func NewNodeClient ¶ added in v1.2.0
func NewNodeClient(c *kubernetes.Clientset) K8sResourceClient
func NewProfileClient ¶
func NewProfileClient(c *kubernetes.Clientset) K8sResourceClient
func NewWorkloadEndpointClient ¶
func NewWorkloadEndpointClient(c *kubernetes.Clientset) K8sResourceClient
type Resource ¶
type Resource interface {
	runtime.Object
	metav1.ObjectMetaAccessor
}
    Interface that all Kubernetes and Calico resources implement.
type ResourceList ¶
type ResourceList interface {
	runtime.Object
	metav1.ListMetaAccessor
}
    Interface that all Kubernetes and Calico resource lists implement.
type WorkloadEndpointClient ¶
type WorkloadEndpointClient struct {
	// contains filtered or unexported fields
}
    Implements the api.Client interface for WorkloadEndpoints.
func (*WorkloadEndpointClient) Create ¶
func (*WorkloadEndpointClient) Delete ¶
func (*WorkloadEndpointClient) EnsureInitialized ¶
func (c *WorkloadEndpointClient) EnsureInitialized() error
func (*WorkloadEndpointClient) Get ¶
func (*WorkloadEndpointClient) List ¶
func (c *WorkloadEndpointClient) List(ctx context.Context, list model.ListInterface, revision string) (*model.KVPairList, error)
func (*WorkloadEndpointClient) Update ¶
func (*WorkloadEndpointClient) Watch ¶
func (c *WorkloadEndpointClient) Watch(ctx context.Context, list model.ListInterface, revision string) (api.WatchInterface, error)
      
      Source Files
      ¶
    
- affinityblock.go
 - bgpconfig.go
 - bgppeer.go
 - client.go
 - clusterinfo.go
 - customresource.go
 - errors.go
 - felixconfig.go
 - globalnetworkpolicies.go
 - ippool.go
 - networkpolicy.go
 - node.go
 - profile.go
 - resources.go
 - watcher.go
 - workloadendpoint.go