Skip to main content
Zelt logo

Zalando end-to-end load tester

travis-ci status badge pypi version badge code quality badge test coverage badge Code style: Black

A command-line tool for orchestrating the deployment of Locust in Kubernetes.

Use it in conjunction with Transformer to run large-scale end-to-end load testing of your website.

Prerequistes

Installation

Install using pip:

pip install zelt

Usage

Example HAR files, locustfile, and manifests are included in the examples/ directory, try them out.

N.B The cluster to deploy to is determined by your currently configured context. Ensure you are using the correct cluster before using Zelt.

Locustfile as input

Zelt can deploy Locust with a locustfile to a cluster:

zelt from-locustfile PATH_TO_LOCUSTFILE --manifests PATH_TO_MANIFESTS

HAR files(s) as input

Zelt can transform HAR file(s) into a locustfile and deploy it along with Locust to a cluster:

zelt from-har PATH_TO_HAR_FILES --manifests PATH_TO_MANIFESTS

N.B This requires Transformer to be installed. For more information about Transformer, please refer to Transformer’s documentation.

Rescale a deployment

Zelt can rescale the number of workers in a deployment it has made to a cluster:

zelt rescale NUMBER_OF_WORKERS --manifests PATH_TO_MANIFESTS

Delete a deployment

Zelt can delete deployments it has made from a cluster:

zelt delete --manifests PATH_TO_MANIFESTS

Run Locust locally

Zelt can also run Locust locally by providing the --local/-l flag to either the from-har or from-locustfile command e.g.:

zelt from-locustfile PATH_TO_LOCUSTFILE --local

Use S3 for locustfile storage

By default, Zelt uses a ConfigMap for storing the locustfile. ConfigMaps have a file-size limitation of ~2MB. If your locustfile is larger than this then you can use an S3 bucket for locustfile storage.

To do so, add the following parameters to your Zelt command:

  • --storage s3: Switch to S3 storage

  • --s3-bucket: The name of your S3 bucket

  • --s3-key: The name of the file as stored in S3

N.B. Zelt will not create the S3 bucket for you.

N.B. Make sure to update your deployment manifest(s) to download the locustfile file from S3 instead of loading from the ConfigMap volume mount.

Use a configuration file for Zelt options

An alternative to specifying Zelt’s options on the command-line is to use a configuration file, for example:

zelt from-har --config examples/config/config.yaml

N.B. The configuration file’s keys are the same as the command-line option names but without the double dash (--).

Documentation

Take a look at our documentation for more details.

Contributing

Please read CONTRIBUTING.md for details on our process for submitting pull requests to us, and please ensure you follow the CODE_OF_CONDUCT.md.

Versioning

We use SemVer for versioning.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

Metadata

Release files for zelt 1.2.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zelt 1.2.15
File Size Uploaded Provenance
zelt-1.2.15.tar.gz 15.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for zelt 1.2.15
File Interpreter ABI Platform
zelt-1.2.15-py3-none-any.whl Python 3 none any Details

Total release size: 31.5 kB

Release files / zelt-1.2.15.tar.gz

Download URL zelt-1.2.15.tar.gz
Size 15.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f8cb308c33cbef429dfd48852e39b211101d55834228dc94dbce4c5bff828533
BLAKE2b-256 checksum
How to use checksums
2c72ecffd90539a293d7789e47174c4358a24a5a6da80cb709c2845b7d372d04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.5 CPython/3.7.1 Linux/4.15.0-1028-gcp

Release files / zelt-1.2.15-py3-none-any.whl

Download URL zelt-1.2.15-py3-none-any.whl
Size 16.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6e4a44e69626541a5127cb2799c366753c85b7d6b8ea9c0d8da3832128787aa7
BLAKE2b-256 checksum
How to use checksums
59973c92bd1e8d94abd40bbfcdfd1c579dc0bcfa64422aa5d7b23d9af61defc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.5 CPython/3.7.1 Linux/4.15.0-1028-gcp

Security for zelt 1.2.15

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page