libcalico-go

module
v3.7.0-0.dev+incompatible Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2019 License: Apache-2.0

README

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

Directories

Path Synopsis
lib
apis/v1
Package v1 implements the struct definitions used on the northbound client API.
Package v1 implements the struct definitions used on the northbound client API.
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/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 for conversion between API and Backend models.
Package converter implements adaptors for 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.
ipip
Package ipip implements a field type that represent different ipip modes.
Package ipip implements a field type that represent different ipip modes.
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.
numorstring
Package numorstring implements a set of type definitions that in YAML or JSON format may be represented by either a number or a string.
Package numorstring implements a set of type definitions that in YAML or JSON format may be represented by either a number or a string.
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