If you’re using Meshery or if you like the project, please ★ this repository to show your support! 🤩
Meshery is the multi-service mesh management plane offering lifecycle, configuration, and performance management of service meshes and their workloads.
GitHub Action for mesheryctl mesh validate
for SMI conformance - https://meshery.io/service-mesh-interface
Learn More
- SMI Conformance Dashboard (stand-alone)
- SMI Conformance Dashboard (service mesh landscape)
- Design Specification
- Conformance Test Details
- For initial releases, this action works the best with minikube clusters.
- We recommend using the manusa/actions-setup-minikube action.
- We also recommend using the ubuntu-latest environment.
# this token is used to auth with meshery provider and persist conformance results
provider_token:
description: "Provider token to use. NOTE: value of the 'token' key in auth.json"
required: true
# the name of the service mesh to run tests on. Must be in compliance with the Service Mesh Performance specification.
# see: https://github.com/service-mesh-performance/service-mesh-performance/blob/1de8c93d8cba4ba8c1120fe09b7bf6ce0aa48c83/protos/service_mesh.proto#L15-L28
service_mesh:
# used for provisioning appropriate meshery-adatper
description: "SMP compatible name for service mesh to use. e.g: open_service_mesh, istio etc"
required: true
# to identify if you want to run the tests on a cluster having the service
# mesh pre-installed
mesh_deployed:
description: "A boolean. Set to true if you want to do tests on a custom deployment of the service mesh and not only on the latest release"
required: true
name: SMI Conformance Validation using Meshery
on:
push:
tags:
- 'v*'
jobs:
do_conformance:
name: Conformance Validation
runs-on: ubuntu-latest
steps:
# This action takes care of installing a cluster, installing the latest
# release of a service mesh and running SMI Conformance Tests on it
- name: SMI conformance tests
uses: layer5io/mesheryctl-smi-conformance-action@master
with:
provider_token: ${{ secrets.PROVIDER_TOKEN }}
service_mesh: open_service_mesh
mesh_deployed: false
name: SMI Conformance Validation using Meshery
on:
push:
branches:
- 'master'
jobs:
do_conformance:
name: SMI Conformance on every commit to master
runs-on: ubuntu-latest
steps:
# deploy k8s
- name: Deploy k8s
uses: manusa/actions-setup-minikube@v2.4.1
with:
minikube version: 'v1.21.0'
kubernetes version: 'v1.20.7'
driver: docker
# Install the wanted version of your service mesh
- 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
# perform SMI conformance validation on the mesh installed in the cluster
- name: SMI conformance tests
uses: layer5io/mesheryctl-smi-conformance-action@master
with:
provider_token: ${{ secrets.PROVIDER_TOKEN }}
service_mesh: open_service_mesh
mesh_deployed: true
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.