libcalico-go/

directory
v1.11.0-cni-plu...-ddfc3b1 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2024 License: Apache-2.0, Apache-2.0

README

Build Status Slack Status IRC Channel GoDoc Go Report Card

libcalico-go

Note: This library is intended for internal use only. See github.com/projectcalico/api for the officially supported API definition and golang clients.

This repository contains the internal library for interacting with the Calico data store as well as common source code used across Calico components. Note that the APIs defined in this library are not guaranteed to be forwards or backwards compatible and may change at any time without notice.

Calico is a Tigera open source project, and is primarily maintained by the Tigera team. However any members of the community – individuals or organizations – are welcome to get involved and contribute to the project.

Get Started Using Calico

For users who want to learn more about the project or get started with Calico, see the documentation on docs.projectcalico.org.

Get Started Developing Calico

Making changes to libcalico-go

Contributions to this code are welcome! The code in this repository can be built and tested using the Makefile.

To run the fast set of unit tests within a containerized environment (requires a functioning Docker installation):

make ut

For more information on available targets, see make help.

Developing against libcalico-go

If you wish to use libcalico for integrating with Calico networking and policy, the main entry point to managing Calico configuration is through the client.

  • Documentation for the client is in lib/client GoDoc.
  • The resource structure definitions are defined in lib/apis, this includes detailed per-resource and per-field level descriptions.

Directories

Path Synopsis
lib
apis/crd.projectcalico.org/v1
API Schema definitions for configuring the installation of Calico and Calico Enterprise +k8s:deepcopy-gen=package,register +groupName=crd.projectcalico.org
API Schema definitions for configuring the installation of Calico and Calico Enterprise +k8s:deepcopy-gen=package,register +groupName=crd.projectcalico.org
backend
Package backend implements the backend data store client and associated backend data type.
Package backend implements the backend data store client and associated backend data type.
backend/encap
Package encap implements a field type that represent different encap modes.
Package encap implements a field type that represent different encap modes.
backend/k8s/conversion
TODO move the WorkloadEndpoint converters to is own package.
TODO move the WorkloadEndpoint converters to is own package.
backend/watchersyncer
watchersyncer package contains a syncer interface that can be used to sync from an arbitrary set of Watchers.
watchersyncer package contains a syncer interface that can be used to sync from an arbitrary set of Watchers.
client
Package client implements the northbound client used to manage Calico configuration.
Package client implements the northbound client used to manage Calico configuration.
clientv3
Package client implements the northbound client used to manage Calico configuration.
Package client implements the northbound client used to manage Calico configuration.
converter
Package converter implements adaptors for conversion between API and Backend models.
Package converter implements adaptors for conversion between API and Backend models.
errors
Package errors implements various error types that are used both internally, and that may be returned from the client interface.
Package errors implements various error types that are used both internally, and that may be returned from the client interface.
hwm
The hwm package contains the HighWatermarkTracker;
The hwm package contains the HighWatermarkTracker;
ipam
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
net
Package net implements a set of net types that are extensions to the built-in net package.
Package net implements a set of net types that are extensions to the built-in net package.
netlinkutils
Dummy version of the HCN API for compilation on Linux.
Dummy version of the HCN API for compilation on Linux.
scope
Package scope implements field types that represent different scopes for resource types.
Package scope implements field types that represent different scopes for resource types.
set
testutils
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
validator/v1
Package validator implements common field and structure validation that is used to validate the API structures supplied on the client interface, and is also used internally to validate the information stored in the backend datastore.
Package validator implements common field and structure validation that is used to validate the API structures supplied on the client interface, and is also used internally to validate the information stored in the backend datastore.
validator/v3
Package v3 implements common field and structure validation that is used to validate the API structures supplied on the client interface, and is also used internally to validate the information stored in the backend datastore.
Package v3 implements common field and structure validation that is used to validate the API structures supplied on the client interface, and is also used internally to validate the information stored in the backend datastore.

Jump to

Keyboard shortcuts

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