Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
See the code⚠️ The OSM project has been officially archived by the CNCF. There will be no more new development on any repo under the OpenServiceMesh organization.⚠️
Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
The OSM project builds on the ideas and implementations of many cloud native ecosystem projects including Linkerd, Istio, Consul, Envoy, Kuma, Helm, and the SMI specification.
OSM runs an Envoy based control plane on Kubernetes, can be configured with SMI APIs, and works by injecting an Envoy proxy as a sidecar container next to each instance of your application. The proxy contains and executes rules around access control policies, implements routing configuration, and captures metrics. The control plane continually configures proxies to ensure policies and routing rules are up to date and ensures proxies are healthy.
Documentation pertaining to the usage of Open Service Mesh is made available at docs.openservicemesh.io.
Documentation pertaining to development, release workflows, and other repository specific documentation, can be found in the docs folder.
Attention: ⚠️ The OSM project has been officially archived. Please reference PR Proposal: OSM for Project Archive ⚠️
See SUPPORT
| Kind | SMI Resource | Supported Version | Comments |
|---|---|---|---|
| TrafficTarget | traffictargets.access.smi-spec.io | v1alpha3 | |
| HTTPRouteGroup | httproutegroups.specs.smi-spec.io | v1alpha4 | |
| TCPRoute | tcproutes.specs.smi-spec.io | v1alpha4 | |
| UDPRoute | udproutes.specs.smi-spec.io | not supported | |
| TrafficSplit | trafficsplits.split.smi-spec.io | v1alpha2 | |
| TrafficMetrics | *.metrics.smi-spec.io | v1alpha1 | 🚧 In Progress 🚧 |
Read more about OSM's high level goals, design, and architecture.
kubectl config current-contextThe simplest way of installing Open Service Mesh on a Kubernetes cluster is by using the osm CLI.
Download the osm binary from the Releases page. Unpack the osm binary and add it to $PATH to get started.
sudo mv ./osm /usr/local/bin/osm
$ osm install

See the installation guide for more detailed options.
The OSM Bookstore demo is a step-by-step walkthrough of how to install a bookbuyer and bookstore apps, and configure connectivity between these using SMI.
After installing OSM, onboard a microservice application to the service mesh.
Connect with the Open Service Mesh community:
If you would like to contribute to OSM, check out the development guide.
This project has adopted the CNCF Code of Conduct. See CODE_OF_CONDUCT.md for further details.
This software is covered under the Apache 2.0 license. You can read the license here.
Overall
Maintained
Code review
Go module
Latest release
Releases this year
(top 24 of 35)
2,781 followers · starred Aug 2020
3,289 followers · starred Aug 2020
3,919 followers · starred Aug 2020
185 followers · starred Aug 2020
Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
See the code⚠️ The OSM project has been officially archived by the CNCF. There will be no more new development on any repo under the OpenServiceMesh organization.⚠️
Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
The OSM project builds on the ideas and implementations of many cloud native ecosystem projects including Linkerd, Istio, Consul, Envoy, Kuma, Helm, and the SMI specification.
OSM runs an Envoy based control plane on Kubernetes, can be configured with SMI APIs, and works by injecting an Envoy proxy as a sidecar container next to each instance of your application. The proxy contains and executes rules around access control policies, implements routing configuration, and captures metrics. The control plane continually configures proxies to ensure policies and routing rules are up to date and ensures proxies are healthy.
Documentation pertaining to the usage of Open Service Mesh is made available at docs.openservicemesh.io.
Documentation pertaining to development, release workflows, and other repository specific documentation, can be found in the docs folder.
Attention: ⚠️ The OSM project has been officially archived. Please reference PR Proposal: OSM for Project Archive ⚠️
See SUPPORT
| Kind | SMI Resource | Supported Version | Comments |
|---|---|---|---|
| TrafficTarget | traffictargets.access.smi-spec.io | v1alpha3 | |
| HTTPRouteGroup | httproutegroups.specs.smi-spec.io | v1alpha4 | |
| TCPRoute | tcproutes.specs.smi-spec.io | v1alpha4 | |
| UDPRoute | udproutes.specs.smi-spec.io | not supported | |
| TrafficSplit | trafficsplits.split.smi-spec.io | v1alpha2 | |
| TrafficMetrics | *.metrics.smi-spec.io | v1alpha1 | 🚧 In Progress 🚧 |
Read more about OSM's high level goals, design, and architecture.
kubectl config current-contextThe simplest way of installing Open Service Mesh on a Kubernetes cluster is by using the osm CLI.
Download the osm binary from the Releases page. Unpack the osm binary and add it to $PATH to get started.
sudo mv ./osm /usr/local/bin/osm
$ osm install

See the installation guide for more detailed options.
The OSM Bookstore demo is a step-by-step walkthrough of how to install a bookbuyer and bookstore apps, and configure connectivity between these using SMI.
After installing OSM, onboard a microservice application to the service mesh.
Connect with the Open Service Mesh community:
If you would like to contribute to OSM, check out the development guide.
This project has adopted the CNCF Code of Conduct. See CODE_OF_CONDUCT.md for further details.
This software is covered under the Apache 2.0 license. You can read the license here.
Overall
Maintained
Code review
Go module
Latest release
Releases this year
(top 24 of 35)
2,781 followers · starred Aug 2020
3,289 followers · starred Aug 2020
3,919 followers · starred Aug 2020
185 followers · starred Aug 2020