calico

module
v1.11.0-cni-plu...-7acfd45 Latest Latest
Warning

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

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

README ΒΆ

Go Report Card ArtifactHub License GoPkg CII Best Practices

🐾 Welcome to Project Calico!

Project Calico, created and maintained by Tigera, is an open-source project with an active development and user community. Calico Open Source has grown to be the most widely adopted solution for container networking and security, powering 8M+ nodes daily across 166 countries.

🌟 Why use Calico?

  • Data Plane Choice: eBPF, standard Linux, Windows, and VPP β€” versatility in network solutions.
  • Interoperability: Works across multiple distros, multiple clouds, bare metal, and VMs.
  • Optimized Performance: Engineered for high speed and low CPU usage, maximizing your cluster investments.
  • Scalable Architecture: Grows seamlessly with your Kubernetes clusters without sacrificing performance.
  • Advanced Security: Get granular access controls and WireGuard encryption.
  • Kubernetes Networking Policy Support: Continually defining excellence in Kubernetes network policy standards and support.
  • Vibrant Contributor Community: Over 200 contributors from a wide array of global companies.
  • Flexible networking: An array of networking tools at your disposal, including BGP, VXLAN, service advertisement, and more.

🀝 Join the Calico Community

πŸ’‘ Contributing to Project Calico

πŸ› οΈ Projects We Maintain

πŸ“’ Stay Connected

Directories ΒΆ

Path Synopsis
apiserver
app-policy
proto
Package proto is a generated protocol buffer package.
Package proto is a generated protocol buffer package.
uds
calicoctl/resourcemgr
Package resourcemgr implements generic resource handling methods.
Package resourcemgr implements generic resource handling methods.
cni-plugin
internal/pkg/utils/hcn
Dummy version of the HCN API for compilation on Linux.
Dummy version of the HCN API for compilation on Linux.
internal/pkg/utils/winpol
This package contains algorithmic support code for Windows.
This package contains algorithmic support code for Windows.
pkg/log
Package log provides support for logging to stdout and stderr.
Package log provides support for logging to stdout and stderr.
crypto
felix
aws
bpf
Package bpf provides primitives to manage Calico-specific XDP programs attached to network interfaces, along with the blocklist LPM map and the failsafe map.
Package bpf provides primitives to manage Calico-specific XDP programs attached to network interfaces, along with the blocklist LPM map and the failsafe map.
bpf/asm
Package asm contains a basic eBPF bytecode assembler.
Package asm contains a basic eBPF bytecode assembler.
calc
The calc package implements a calculation graph for Felix's dynamic state.
The calc package implements a calculation graph for Felix's dynamic state.
cmd/calico-felix-docgen
Tool to generate combined metadata for hte Felix configuration parameters.
Tool to generate combined metadata for hte Felix configuration parameters.
config
The config package provides config inheritance for Felix.
The config package provides config inheritance for Felix.
dataplane/external
extdataplane implements the connection to an external dataplane driver, connected via a pair of pipes.
extdataplane implements the connection to an external dataplane driver, connected via a pair of pipes.
dataplane/windows/hcn
Dummy version of the HCN API for compilation on Linux.
Dummy version of the HCN API for compilation on Linux.
fv
The fv package contains FV tests that execute Felix for real.
The fv package contains FV tests that execute Felix for real.
ip
The ip package contains yet another IP address (and CIDR) type :-).
The ip package contains yet another IP address (and CIDR) type :-).
labelindex
The labelindex package provides the InheritIndex type, which emits events as the set of items (currently WorkloadEndpoints/HostEndpoint) it has been told about start (or stop) matching the label selectors (which are extracted from the active policy rules) it has been told about.
The labelindex package provides the InheritIndex type, which emits events as the set of items (currently WorkloadEndpoints/HostEndpoint) it has been told about start (or stop) matching the label selectors (which are extracted from the active policy rules) it has been told about.
proto
The proto package defines the protocol between Felix's policy "calculation engine", which calculates the policy that should be active on a given host, and the "dataplane driver", which renders that policy into the dataplane.
The proto package defines the protocol between Felix's policy "calculation engine", which calculates the policy that should be active on a given host, and the "dataplane driver", which renders that policy into the dataplane.
hack
test/spider
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.
key-cert-provisioner
cmd
kube-controllers
libcalico-go
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
lib/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.
lib/backend/encap
Package encap implements a field type that represent different encap modes.
Package encap implements a field type that represent different encap modes.
lib/backend/k8s/conversion
TODO move the WorkloadEndpoint converters to is own package.
TODO move the WorkloadEndpoint converters to is own package.
lib/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.
lib/client
Package client implements the northbound client used to manage Calico configuration.
Package client implements the northbound client used to manage Calico configuration.
lib/clientv3
Package client implements the northbound client used to manage Calico configuration.
Package client implements the northbound client used to manage Calico configuration.
lib/converter
Package converter implements adaptors for conversion between API and Backend models.
Package converter implements adaptors for conversion between API and Backend models.
lib/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.
lib/hwm
The hwm package contains the HighWatermarkTracker;
The hwm package contains the HighWatermarkTracker;
lib/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.
lib/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.
lib/netlinkutils
Dummy version of the HCN API for compilation on Linux.
Dummy version of the HCN API for compilation on Linux.
lib/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.
lib/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.
lib/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.
lib/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.
node
pkg/nodeinit
Package nodeinit contains the calico-node -init command, which is intended to be run from an init container to do privileged pre-flight initialisation.
Package nodeinit contains the calico-node -init command, which is intended to be run from an init container to do privileged pre-flight initialisation.
pod2daemon
flexvol
Flexvolume driver that is invoked by kubelet when a pod installs a flexvolume drive of type nodeagent/uds This driver communicates to the nodeagent using either
Flexvolume driver that is invoked by kubelet when a pod installs a flexvolume drive of type nodeagent/uds This driver communicates to the nodeagent using either
protos/udsver_v1
Package udsver_v1 is a generated protocol buffer package.
Package udsver_v1 is a generated protocol buffer package.
release
typha
fv-tests
fv_tests contains a suite of tests that test multiple packages together.
fv_tests contains a suite of tests that test multiple packages together.
pkg/config
The config package provides config inheritance for Typha.
The config package provides config inheritance for Typha.
pkg/syncproto
Package syncproto defines the structs used in the Felix/Typha protocol.
Package syncproto defines the structs used in the Felix/Typha protocol.

Jump to

Keyboard shortcuts

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