/libcalico-go

Golang Calico library functions: https://www.projectcalico.org

Primary LanguageGoApache License 2.0Apache-2.0

Build Status Slack Status IRC Channel GoDoc

libcalico-go

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 tests locally (requires a full golang environment Go 1.7+):

make ut

To run the tests within a containerized environment (requires a functioning Docker installation):

make test-containerized

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/api, this includes detailed per-resource and per-field level descriptions.