kalantar / iter8-run

Run Iter8 Experiment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Iter8 GitHub Action

The Iter8 GitHub Action can be used to load test, benchmark, and validate HTTP and gRPC services with service-level objectives (SLOs).

How it works

This action is based on the Iter8 Kubernetes release optimizer. Iter8 enables experiments that can be run by specifying the name of the experiment chart, along with configuration values for the chart. Use the load-test-http and load-test-grpc charts within this action to test HTTP and gRPC services respectively.

Example: Load test, benchmark and validate HTTP

- uses: iter8-tools/iter8-action@v1
  with:
    chart: load-test-http
    valuesFile: experiment-config.yaml

A sample experiment-config.yaml is shown below.

url: https://httpbin.org/get

Details of the configuration parameters that can be set in this experiment are here.

Example: Load test, benchmark and validate gRPC

- uses: iter8-tools/iter8-action@v1
  with:
    chart: load-test-grpc
    valuesFile: experiment-config.yaml

A sample experiment-config.yaml is shown below.

# An earlier step in the workflow is assumed to have started the gRPC service
host: 127.0.0.1:50051
call: helloworld.Greeter.SayHello
protoURL: https://raw.githubusercontent.com/grpc/grpc-go/master/examples/helloworld/helloworld/helloworld.proto

Details of the configuration parameters that can be set in this experiment are here.

Action Inputs

Input Name Description Default
chart Name of the experiment chart. Required. None
valuesFile Path to configuration values file. Required. None
validateSLOs Validate any specified SLOs. true
logLevel Logging level; valid values are trace, debug, info, warning, error, fatal, panic info

Issues

Issues for this action is managed as part of Iter8 repo issues.

Contributing

We welcome PRs!

See here for information about ways to contribute, Iter8 community meetings, finding an issue, asking for help, pull-request lifecycle, and more.

About

Run Iter8 Experiment

License:Apache License 2.0


Languages

Language:Shell 93.1%Language:Dockerfile 6.9%