diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 98289391..00000000 --- a/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM rust:1-slim-buster AS base - -LABEL maintainer="Narayan Newton " -LABEL org.label-schema.vendor="Tag1 Consulting" \ - org.label-schema.url="https://github.com/tag1consulting/goose" \ - org.label-schema.name="Goose" \ - org.label-schema.version="mainline" \ - org.label-schema.vcs-url="github.com:tag1consulting/goose.git" \ - org.label-schema.docker.schema-version="1.0" - -ENV GOOSE_EXAMPLE=umami \ - GOOSE_FEATURES="gaggle" - -ARG DEBIAN_FRONTEND=noninteractive - -COPY . /build -WORKDIR ./build - -RUN apt-get update && \ - apt-get install -y libssl-dev gcc pkg-config cmake && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -RUN cargo build --features "${GOOSE_FEATURES}" --release --example "${GOOSE_EXAMPLE}" -RUN chmod +x ./docker-entrypoint.sh - -EXPOSE 5115 -ENTRYPOINT ["./docker-entrypoint.sh"] diff --git a/README.md b/README.md index b29dc49b..87d01997 100644 --- a/README.md +++ b/README.md @@ -6,18 +6,21 @@ Have you ever been attacked by a goose? [![Documentation](https://docs.rs/goose/badge.svg)](https://docs.rs/goose) [![Apache-2.0 licensed](https://img.shields.io/crates/l/goose.svg)](./LICENSE) [![CI](https://github.com/tag1consulting/goose/workflows/CI/badge.svg)](https://github.com/tag1consulting/goose/actions?query=workflow%3ACI) -[![Docker Repository on Quay](https://quay.io/repository/tag1consulting/goose/status "Docker Repository on Quay")](https://quay.io/repository/tag1consulting/goose) -## Overview +## A Powerful Load Testing Framework -Goose is a [Rust](https://www.rust-lang.org/) load testing tool inspired by [Locust](https://locust.io/). User behavior is defined with standard Rust code. Load tests are applications that have a dependency on the Goose library. Web requests are made with the [Reqwest](https://docs.rs/reqwest) HTTP Client. +Goose is a highly efficient load testing tool crafted in [Rust](https://www.rust-lang.org/), designed to simulate users interacting with web applications. Whether you're testing a simple website or an intricate application, Goose provides a flexible and scalable solution to ensure your system can handle real-world traffic patterns. -### Documentation +## Why Choose Goose? -- [The Goose Book](https://book.goose.rs) -- [Developer documentation](https://docs.rs/goose/) -- [Blogs and more](https://tag1.com/goose/) - - [Goose vs Locust and jMeter](https://www.tag1consulting.com/blog/jmeter-vs-locust-vs-goose) - - [Real-life load testing with Goose](https://www.tag1consulting.com/blog/real-life-goose-load-testing) - - [Gaggle: a distributed load test](https://www.tag1consulting.com/blog/show-me-how-flock-flies-working-gaggle-goose) - - [Optimizing Goose performance](https://www.tag1consulting.com/blog/golden-goose-egg-compile-time-adventure) +* Performance: Built with Rust, Goose is designed for speed and scalability, allowing you to simulate a large number of users with minimal resource overhead. + +* Flexibility: Goose supports both simple and complex load tests, making it suitable for a wide range of applications. With its extensive set of options, you can tailor your tests to closely mimic real-world user behavior. + +* Real-world Testing: Goose goes beyond just sending requests; it can simulate user behaviors like logging in, filling out forms, and navigating through your application, providing a more realistic load test scenario. + +* Community and Support: Developed by [Tag1 Consulting](https://tag1.com/), Goose has a growing community and a series of [blog posts and podcasts](https://www.tag1.com/goose/) detailing its features, comparisons with other tools, and real-life testing scenarios. + +## Getting Started + +It is essential to understand that Goose is not a pre-compiled application but a library. This means you can't simply run Goose to load test a website. Instead, you'll need to write your own Rust application using the Goose library, then compile it to create a tailored load testing tool specific to your needs. Dive into [The Goose Book](https://book.goose.rs/) for a comprehensive guide or check the [developer documentation](https://docs.rs/goose/) for detailed API information. diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh deleted file mode 100644 index 3b25266b..00000000 --- a/docker-entrypoint.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -e - -cargo run --features "${GOOSE_FEATURES}" --release --example "${GOOSE_EXAMPLE}" -- $@