/meshery-smp-action

GitHub Action for pipelining performance testing with Meshery and SMP

Primary LanguageShellApache License 2.0Apache-2.0

Meshery - SMP GitHub Action

GitHub Action to run SMP Performance Benchmarks on CI/CD pipelines.

Meshery is the canonical implementation of the Service Mesh Performance specification.

Learn More

Supported Service Meshes

Meshery supports 10 different service meshes.

See all Supported Service Meshes

Usage

See action.yml

You can use this action by defining your test configuration in a performance profile in Meshery or write your test configurations in SMP compatible format (see example).

You can then pass in either of these to the action to run a performance test.

The results of the tests are updated on the Performance Management dashboard in Meshery.

See Performance Management with Meshery for detailed instructions on setting up Meshery and authenticating the GitHub Action.

SMP Compatible Test Configuration File

smp_version: v0.0.1
id:
name: Istio Performance Test
labels: {}
clients:
- internal: false
  load_generator: fortio
  protocol: 1
  connections: 2
  rps: 10
  headers: {}
  cookies: {}
  body: ""
  content_type: ""
  endpoint_urls:
  - http://localhost:2323/productpage
duration: "30m"

Sample configuration

name: Meshery SMP Action
on:
  push:
    branches:
      'master'

jobs:
  performance-test:
    name: Performance Test
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v2
        with:
          ref: 'perf'

      - name: Deploy k8s-minikube
        uses: manusa/actions-setup-minikube@v2.4.1
        with:
          minikube version: 'v1.21.0'
          kubernetes version: 'v1.20.7'
          driver: docker

      - name: Run Performance Test
        uses: layer5io/meshery-smp-action@master
        with:
          provider_token: ${{ secrets.PROVIDER_TOKEN }}
          platform: docker
          profile_name: istio-soak-test

Join the service mesh community!

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

Find your MeshMate

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.




 

Layer5 Service Mesh Community

Layer5 Service Mesh 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.