Giter Club home page Giter Club logo

gatling-operator's Introduction

Gatling Operator

Go Report Card CI GitHub release (latest SemVer)

Gatling is an open source load testing tool that allows to analyze and measure the performance of a variety of services. Gatling Operator is a Kubernetes Operator for running automated distributed Gatling load testing.

How Gatling Operator works

The desired state of a distributed Gatling load testing is described through a Kubernetes custom resource (Gatling CR in figure below). Based on Gatling CR, actions in the lifecycle of distributed Gatling load testing such as running load testing, generating reports, sending notification message, and cleaning up the resources are executed by relevant custom controller (Gatling Controller in figure below).

Features

  • Allows Gatling load testing scenario, resources, Gatling configurations files to be added in 2 ways:
    • Bundle them with Gatling runtime packages in a Gatling container
    • Add them as multi-line definition in Gatling CR
  • Scaling Gatling load testing
    • Horizontal scaling: number of pods running in parallel during a load testing can be configured
    • Vertical scaling: CPU and RAM resource allocation for Gatling runner Pod can be configured
  • Allows Gatling load testing to start running at a specific time
    • By default, the Gatling load testing starts running as soon as the runner Pod's init container gets ready. By specifing the start time, the Gatling load testing waits to start running until the specified time
  • Gatling Pod attributions
    • Gatling runtime container image
    • rclone container image
    • CPU and RAM resource allocation request and limit
    • Affinity (such as Node affinity) and Tolerations to be used by the scheduler to decide where a pod can be placed in the cluster
    • Service accounts for Pods
  • Reports
    • Automated generating aggregated Gatling HTML reports and storing them to Cloud Storages such as Amazon S3, Google Cloud Storage, Azure Blob Storage. via rclone
    • Allows credentials info for accessing the remote storage to be specified via Secret resource
  • Notification
    • Automated posting webhook message and sending Gatling load testing result via notification providers such as Slack
    • Allows webhook URL info to be specified via Secret resource
  • Automated cleaning up Gatling resources

Requirements

  • Kubernetes: version >= 1.18

note: the versions below 1.18 might work but are not tested

Quick Start

Documentations

Contributing

Please make a GitHub issue or pull request to help us build the operator.

Changelog

Please see the list of releases for information on changes between releases.

gatling-operator's People

Contributors

yokawasa avatar ksudate avatar kayamin avatar cin avatar dependabot[bot] avatar niqniqniqq avatar ucpr avatar s-mishina avatar itib avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.