{"id":15998602,"url":"https://github.com/d7561985/nats-ab","last_synced_at":"2026-02-28T19:01:13.610Z","repository":{"id":36978544,"uuid":"458839931","full_name":"d7561985/nats-ab","owner":"d7561985","description":"NATS cluster deployment and test project.","archived":false,"fork":false,"pushed_at":"2023-03-06T04:10:05.000Z","size":158,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T06:43:39.590Z","etag":null,"topics":["ab","aws","bench","nats","terraform"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d7561985.png","metadata":{"files":{"readme":"readme.adoc","changelog":"CHANGELOG.md","contributing":null,"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":"2022-02-13T14:54:30.000Z","updated_at":"2022-05-22T16:47:56.000Z","dependencies_parsed_at":"2024-06-21T11:44:34.825Z","dependency_job_id":"c5939b81-5bbd-4b58-baca-1c12d511b62a","html_url":"https://github.com/d7561985/nats-ab","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/d7561985/nats-ab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d7561985%2Fnats-ab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d7561985%2Fnats-ab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d7561985%2Fnats-ab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d7561985%2Fnats-ab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d7561985","download_url":"https://codeload.github.com/d7561985/nats-ab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d7561985%2Fnats-ab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29948228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T18:42:55.706Z","status":"ssl_error","status_checked_at":"2026-02-28T18:42:48.811Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ab","aws","bench","nats","terraform"],"created_at":"2024-10-08T08:20:28.902Z","updated_at":"2026-02-28T19:01:13.582Z","avatar_url":"https://github.com/d7561985.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"= NATS-AB\n\nCompliance tool to check 2 NATS users: `NATS_USER` - according GitOps approach this user not allowed to create JetStream Stream or Consumers\n\nSLO:\n\n* `NATS_USER` - according GitOps approach this user not allowed to create JetStream Stream or Consumers\n* `NATS_STREAM_USER` - this user applicable for create JS as user in GitOps job\n* `NATS_USER` - can send and read messages via JS\n\n== Install\n=== download\nhttps://github.com/d7561985/nats-ab/releases\n\n=== golang\nGo 1.16+\n[bash]\n----\ngo install github.com/d7561985/nats-ab@latest\n----\n\nGo version \u003c 1.16\n[bash]\n----\ngo get -u github.com/d7561985/nats-ab@latest\n----\n\n== Use-cases\n=== mode\nTo check leaf: put mode = 1 in hub cluster and 2 in leaf.\n\nNOTE: first create leaf subscriber\n\n=== replica\nCheck performance with different replica value in cluster\n\n=== threads\nExamine number of threads (services) producers or consumer.\n\n\n== How to use\nCLI support help command where you will find everything suitable:\n[bash]\n----\nNAME:\n   \u003chelp name\u003e - run compliance scenario tests\n\nUSAGE:\n   \u003cusage text\u003e\n\nDESCRIPTION:\n   \u003cdescription\u003e\n\nOPTIONS:\n   --mode value                          Some scenarios required 2 or more applications launches (between leaf nodes), value: 0: send and receive, 1: only send, 2: only receive (default: 0) [$MODE]\n   --count value                         messages to publish/receive (default: 1000000) [$MSG_NUM]\n   --msgSize value                       messages to publish/receive (default: 128) [$MSG_SIZE]\n   --threads value                       consent execution (default: 5) [$THREADS]\n   --drainTime value                     wait before clean up after scenario (default: 30s) [$DRAIN_TIME]\n   --addr value                          NATS URI list (default: \"nats://127.0.0.1:4222\") [$NATS_ADDR]\n   --replicas value                      stream reapplication usage (default: 1) [$REPLICAS]\n   --accUser value, -u value             none sys account user who will send or read messages (default: \"client\") [$ACC_USER]\n   --accUserPassword value, -p value     password for accUser (default: ****) [$ACC_USER_PASSWORD]\n   --accAdmin value, -a value            none sys account user admin with no restriction (default: \"admin\") [$ACC_ADMIN]\n   --accAdminPassword value, --ap value  password for accAdmin (default: ****) [$ACC_ADMIN_PASSWORD]\n   --sysUser value                       sys account user [$SYS_USER]\n   --sysPassword value                   sysUser password (default: ****) [$SYS_USER_PASSWORD]\n   --help, -h                            show help (default: false)\n----\n\n== TEST\n=== Scenario #1\nPositive test.\n\n1. `NATS_STREAM_USER` create stream and consumer with `REPLICAS` num.\n1. `NATS_USER` send message `PUSH_NUM` times\n1. `NATS_USER` tries to reed them.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd7561985%2Fnats-ab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd7561985%2Fnats-ab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd7561985%2Fnats-ab/lists"}