GitHub Action
Service Mesh Interface Conformance with Meshery
GitHub Action to run SMI Conformance tests on CI/CD pipelines.
Meshery is SMI's official tool for validating conformance. Learn more at smi-spec.io.
- Meshery and Service Mesh Interface
- Guide: Running SMI Conformance Tests
- Conformance Test Details
- SMI Conformance Dashboard (stand-alone)
- SMI Conformance Dashboard (service mesh landscape)
- Design Specification
Meshery supports 10 different service meshes.
See all Supported Service Meshes
Service mesh adapters provision, configure, and manage their respective service meshes.
See action.yml
By default, this action brings its own Kubernetes cluster(minikube), deploys the latest release of the service mesh specified and runs conformance tests (see Running on latest release).
You can however bring your own clusters with a specific version of a service mesh installed and Meshery would automatically detect your environment and run the conformance test accordingly (see Running on specific version).
See Running SMI Conformance Tests in CI/CD Pipelines for detailed instructions on setting up Meshery and authenticating the GitHub action.
Meshery would handle setting up the environment, deploying the service mesh and running the conformance tests.
name: SMI Conformance with Meshery
on:
push:
tags:
- 'v*'
jobs:
smi-conformance:
name: SMI Conformance
runs-on: ubuntu-latest
steps:
- name: SMI conformance tests
uses: layer5io/mesheryctl-smi-conformance-action@master
with:
provider_token: ${{ secrets.MESHERY_PROVIDER_TOKEN }}
service_mesh: open_service_mesh
mesh_deployed: false
(bring your own cluster)
The environment with the service mesh installed provided by the user and Meshery runs the conformance tests.
name: SMI Conformance with Meshery
on:
push:
branches:
- 'master'
jobs:
smi-conformance:
name: SMI Conformance tests on master
runs-on: ubuntu-latest
steps:
- name: Deploy k8s-minikube
uses: manusa/[email protected]
with:
minikube version: 'v1.21.0'
kubernetes version: 'v1.20.7'
driver: docker
- name: Install OSM
run: |
curl -LO https://github.com/openservicemesh/osm/releases/download/v0.9.1/osm-v0.9.1-linux-amd64.tar.gz
tar -xzf osm-v0.9.1-linux-amd64.tar.gz
mkdir -p ~/osm/bin
mv ./linux-amd64/osm ~/osm/bin/osm-bin
PATH="$PATH:$HOME/osm/bin/"
osm-bin install --osm-namespace default
- name: SMI conformance tests
uses: layer5io/mesheryctl-smi-conformance-action@master
with:
provider_token: ${{ secrets.MESHERY_PROVIDER_TOKEN }}
service_mesh: open_service_mesh
mesh_deployed: true
Service mesh projects can report their SMI Conformance results automatically and update it on the SMI Conformance Dashboard.
See Reporting Conformance for details on how to setup reporting.
Our projects are community-built and welcome collaboration. 👍 Be sure to see the Layer5 Community Welcome Guide for a tour of resources available to you and jump into our Slack!
MeshMates are experienced Layer5 community members, who will help you learn your way around, discover live projects and expand your community network. Become a Meshtee today!
Find out more on the Layer5 community.
✔️ Join any or all of the weekly meetings on community calendar.
✔️ Watch community meeting recordings.
✔️ Access the Community Drive by completing a community Member Form.
✔️ Discuss in the Community Forum.
Not sure where to start? Grab an open issue with the help-wanted label.