Skip to content

OpenShift Service Mesh

Repositories for building OpenShift Service Mesh (OSSM) for the OpenShift Container Platform.

Note

For general information about service mesh concepts click here.

Warning

This organization deals only with builds of the 3.x series of OSSM.

About

OpenShift Service Mesh (OSSM) is based on Istio and tries to follow that upstream project very closely.

The repositories you find here will generally be up to date with the upstream Istio repositories, with some small changes mainly related to building and shipping releases. In the repositories section we'll provide a brief overview of some of the repositories in this org to help you get started.

Note

Ultimately this organization is meant for OSSM developers, not users. If you're a user looking to install and use OSSM, see the OpenShift Container Platform Documentation for your version instead.

Development

The vast majority of development of OpenShift Service Mesh (OSSM) happens in upstream Istio (importantly this includes the Sail Operator, which is at the center of how we deploy and manage the lifecycle of Istio), the most notable exceptions being some areas related to Envoy Proxy (which are deployed as sidecars to Pods within the mesh to control and shape traffic (See the Istio Architecture documentation for more details) or other building and testing configurations specific to OSSM. So as a developer on OSSM, you'll mostly be following the pattern of "develop in upstream, build in downstream".

Note

The most notable caveat to our pure upstream focus is that upstream Istio employs a version of Envoy Proxy that uses BoringSSL, which is notably not compliant with the United States National Institute of Standards and Technology (NIST)'s Federal Information Processing Standards (FIPS). In order to ensure that OpenShift users have FIPS compliant service mesh connectivity, we maintain and utilize the alternative envoyproxy/envoy-openssl which uses OpenSSL instead.

In the following sections we'll provide some steps which contain guidance on how to go from just starting to actively developing and building Istio, and getting involved with the community. In later sections we'll also cover some of the notable areas where we have OSSM specific tooling in the repositories.

Step 1: First things first!

If you're unfamiliar with Istio in general, it can be worthwhile to use and experiment with it prior to trying to develop for it. We strongly recommend you check out the main Istio documentation and specifically work through some of the working examples provided there as deploying and experimenting with those can help you more quickly understand how Istio works and help illuminate some of the components involved.

Step 2: Istio development practices

We recommend all new developers start by reading the Preparing for Istio Development Wiki. This will provide some insights into where things are and how to get started. After you've familiarized yourself with the basics, check out the General Istio Wiki for guidance on other specific subjects.

Step 3: Getting involved in the Istio community

Development documentation is not be-all and end-all for an aspiring Istio developer. Istio is a community driven project, and so to be a successful Istio developer (and therefore OSSM developer as well) you inherently need to be engaged with the Istio upstream development ecosystem. After reading through the wikis and trying some things out yourself, go get involved!

Repositories

Most of development and some testing happens entirely in upstream Istio. That being said, there are a few places in the repositories you'll find here in this org where OpenShift specific patches or build tooling can be found, which we will provide some notes on.

openshift-service-mesh/istio

First and foremost, we have a fork of the main Istio repository which you'll find at openshift-service-mesh/istio. Largely this is kept up to date with upstream istio/istio, but you will find some small fixes (many relating to timeouts) which enable us to run the upstream integration tests on OpenShift CI. Look in the prow/ directly for scripts specifically related to running integration tests for OSSM.

openshift-service-mesh/sail-operator

It's important to note that in addition to the regular upstream Istio org there is also an Istio Ecosystem organization which houses projects that relate to or enhance Istio. Notably there is a Kubernetes operator in this organization called istio-ecosystem/sail-operator which is key to how Istio is deployed and managed on OpenShift clusters. We keep a fork of this at openshift-service-mesh/sail-operator which is mostly 1:1 with the upstream, but notably there's an ossm/ directory added related which relates to OpenShift specific build options.

openshift-service-mesh/proxy

Upstream Istio includes the istio/proxy repository which provides Istio-specific options over Envoy Proxy. For OpenShift we wrap this repository as well in openshift-service-mesh/proxy. Most of the differences you'll find from upstream here relate to integrating our alternative envoyproxy/envoy-openssl (which is necessary for FIPS compliance).

Popular repositories Loading

  1. istio istio Public

    Go 3 9

  2. federation federation Public

    Discovery service controller for Istio mesh federation.

    Go 3 8

  3. sail-operator sail-operator Public

    Forked from istio-ecosystem/sail-operator

    The Sail Operator is able to install and manage the lifecycle of the Istio control plane in an Kubernetes & OpenShift cluster.

    Go 2 7

  4. .github .github Public

    1 2

  5. community-operators-prod community-operators-prod Public

    Forked from redhat-openshift-ecosystem/community-operators-prod

    community-operators metadata backing OpenShift OperatorHub

    Dockerfile

  6. istio-must-gather istio-must-gather Public

    A client tool for gathering Service Mesh information in a OpenShift cluster

    Shell 2

Repositories

Showing 8 of 8 repositories
  • sail-operator Public Forked from istio-ecosystem/sail-operator

    The Sail Operator is able to install and manage the lifecycle of the Istio control plane in an Kubernetes & OpenShift cluster.

    openshift-service-mesh/sail-operator’s past year of commit activity
    Go 2 Apache-2.0 37 0 3 Updated Feb 12, 2025
  • istio Public
    openshift-service-mesh/istio’s past year of commit activity
    Go 3 Apache-2.0 9 1 2 Updated Feb 12, 2025
  • proxy Public Forked from istio/proxy

    The Istio proxy components.

    openshift-service-mesh/proxy’s past year of commit activity
    C++ 0 Apache-2.0 1,221 0 0 Updated Jan 30, 2025
  • federation Public

    Discovery service controller for Istio mesh federation.

    openshift-service-mesh/federation’s past year of commit activity
    Go 3 Apache-2.0 8 26 (1 issue needs help) 4 Updated Jan 30, 2025
  • istio-must-gather Public

    A client tool for gathering Service Mesh information in a OpenShift cluster

    openshift-service-mesh/istio-must-gather’s past year of commit activity
    Shell 0 Apache-2.0 2 0 0 Updated Dec 13, 2024
  • .github Public
    openshift-service-mesh/.github’s past year of commit activity
    1 2 0 0 Updated Oct 28, 2024
  • istio-zones Public
    openshift-service-mesh/istio-zones’s past year of commit activity
    Go 0 Apache-2.0 2 1 0 Updated Sep 18, 2024
  • community-operators-prod Public Forked from redhat-openshift-ecosystem/community-operators-prod

    community-operators metadata backing OpenShift OperatorHub

    openshift-service-mesh/community-operators-prod’s past year of commit activity
    Dockerfile 0 Apache-2.0 550 0 0 Updated Apr 3, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…