/calico

Cloud native networking and network security

Primary LanguageGo

Calico

Calico is a widely adopted, battle-tested open source networking and network security solution for Kubernetes, virtual machines, and bare-metal workloads. Calico provides two major services for Cloud Native applications:

  • Network connectivity between workloads.
  • Network security policy enforcement between workloads.

Calico’s flexible architecture supports a wide range of deployment options, using modular components and technologies, including:

  • Choice of data plane technology, whether it be eBPF, standard Linux, Windows HNS or VPP
  • Enforcement of the full set of Kubernetes network policy features, plus for those needing a richer set of policy features, Calico network policies.
  • An optimized Kubernetes Service implementation using eBPF.
  • Kubernetes apiserver integration, for managing Calico configuration and Calico network policies.
  • Both non-overlay and overlay (via IPIP or VXLAN) networking options in either public cloud or on-prem deployments.
  • CNI plugins for Kubernetes to provide highly efficient pod networking and IP Address Management (IPAM).
  • A Neutron ML2 plugin to provide VM networking for OpenStack.
  • A BGP routing stack that can advertise routes for workload and service IP addresses to physical network infrastructure.

Getting Started Running Calico

There are many avenues to get started with Calico depending on your situation.

Getting Started Developing Calico

Calico is an open source project, and welcomes your contribution, be it through code, a bug report, a feature request, or user feedback.

Join the Calico Community!

The Calico community is committed to fostering an open and welcoming environment, with several ways to engage with other users and developers. You can find out more about our monthly meetings, Slack group, and Discourse by visiting our community repository.

License

Calico is open source, with most code and documentation available under the Apache 2.0 license (see the LICENSE), though some elements are necessarily licensed under different open source licenses for compatibility with upstream licensing or code linking. For example, some Calico BPF programs are licensed under GPL v2.0 for compatibility with Linux kernel helper functions.