{"id":13728204,"url":"https://github.com/DevopsArtFactory/klocust","last_synced_at":"2025-05-08T00:31:38.610Z","repository":{"id":47705250,"uuid":"303536420","full_name":"DevopsArtFactory/klocust","owner":"DevopsArtFactory","description":"A command-line tool for managing Locust distributed load testing on Kubernetes.","archived":false,"fork":false,"pushed_at":"2024-08-21T08:36:12.000Z","size":17511,"stargazers_count":65,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-08-24T09:57:35.067Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevopsArtFactory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-12T23:25:43.000Z","updated_at":"2024-08-21T08:31:18.000Z","dependencies_parsed_at":"2024-05-15T18:15:13.908Z","dependency_job_id":"e2b12ade-98b9-4640-a0e2-794b074a7b51","html_url":"https://github.com/DevopsArtFactory/klocust","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevopsArtFactory%2Fklocust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevopsArtFactory%2Fklocust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevopsArtFactory%2Fklocust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevopsArtFactory%2Fklocust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevopsArtFactory","download_url":"https://codeload.github.com/DevopsArtFactory/klocust/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224679870,"owners_count":17351882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T02:00:38.599Z","updated_at":"2024-11-14T19:30:54.843Z","avatar_url":"https://github.com/DevopsArtFactory.png","language":"Go","funding_links":[],"categories":["Tools \u0026 Integrations"],"sub_categories":["Distributed"],"readme":"# klocust\nKlocust is a command-line tool for managing [Locust](https://locust.io/) distributed load testing on [Kubernetes](https://kubernetes.io/).  \n\n\n## Installation\n### Required\n- [kubernetes](https://kubernetes.io/) version 1.16 or higher\n- kubeconfig for connect to your k8s cluster\n\n### Recommend\n- [Ingress Controller](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/)   \n   exposes your locust cluster to outside of the k8s cluster. (internal or internet-facing)\n- [ExternalDNS](https://github.com/kubernetes-sigs/external-dns)   \n   create(update) and delete domain for your locust cluster automatically.\n\n### Install klocust binary\n```bash\n$ brew tap DevopsArtFactory/devopsart\n$ brew update\n$ brew install klocust \n$ klocust version\n0.0.1\n``` \n\n### Build from source\n- See here on how to [build klocust CLI from source](./docs/build_from_source.md).\n\n### shell autocompletion for bash/zsh\n```bash\necho 'source \u003c(kubectl completion bash)' \u003e\u003e~/.bashrc\nor\necho 'source \u003c(kubectl completion zsh)' \u003e\u003e~/.zsh\n```\n\n## Usages\n\n### klocust list\n- Display all of Locust clusters\n```bash\n$ klocust list\n\n\u003e\u003e\u003e 1 locust deployments in loadtest namespace. (PREFIX: locust-main-)\n+-------+---------------------+-------+------------+-----------+------+\n| NAME  | DEPLOYMENT          | READY | UP-TO-DATE | AVAILABLE | AGE  |\n+-------+---------------------+-------+------------+-----------+------+\n| hello | locust-main-hello   | 1/1   | 1          | 1         | 9m5s |\n+-------+---------------------+-------+------------+-----------+------+\n```\n\n### klocust init\n- Create config \u0026 locust files before applying. (ex name: hello)\n```bash\n$ klocust init hello\n```\n\n#### Update config \u0026 locust files\n- Update config \u0026 locust files what you need. (ex name: hello)\n```bash\n$ vi hello-klocust.yaml\n$ vi hello-locustfile.py\n```\n\n- If you want test locust in your local environments\n```bash\n$ docker run -p 8089:8089 -v $PWD:/mnt/locust locustio/locust -f /mnt/locust/hello-locustfile.py\n\nor \n\n$ pip3 install locust\n$ locust -f hello-locustfile.py\n```\n\n### klocust apply\n- Create or Update locust cluster with config \u0026 locust files. (ex name: hello)\n```bash\n$ klocust apply hello\n```\n\n- **Connect to your locust cluster and do load testing.**  \n(ex name: hello)  \n```bash\n$ open https://locust-hello.{your domain}\n```\n\n### klocust delete\n- Delete locust cluster (ex name: hello)\n```bash\n$ klocust delete hello\n```\n\n## Contribution Guide\n- Check [CONTRIBUTING.md](CONTRIBUTING.md) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDevopsArtFactory%2Fklocust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDevopsArtFactory%2Fklocust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDevopsArtFactory%2Fklocust/lists"}