{"id":16318096,"url":"https://github.com/scorphus/tsuru-plugins","last_synced_at":"2025-03-20T22:30:52.213Z","repository":{"id":148201272,"uuid":"58976720","full_name":"scorphus/tsuru-plugins","owner":"scorphus","description":"🧩 Plugins such as env-list and app-address","archived":false,"fork":false,"pushed_at":"2017-10-07T22:39:59.000Z","size":7,"stargazers_count":38,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-11T22:10:13.750Z","etag":null,"topics":["address","environment-vars","goreplay","plugins","replay-requests","tsuru","tsuru-plugins"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scorphus.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2016-05-17T00:14:02.000Z","updated_at":"2024-03-18T00:21:56.000Z","dependencies_parsed_at":"2023-05-19T10:31:13.957Z","dependency_job_id":null,"html_url":"https://github.com/scorphus/tsuru-plugins","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scorphus%2Ftsuru-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scorphus%2Ftsuru-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scorphus%2Ftsuru-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scorphus%2Ftsuru-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scorphus","download_url":"https://codeload.github.com/scorphus/tsuru-plugins/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244085006,"owners_count":20395523,"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":["address","environment-vars","goreplay","plugins","replay-requests","tsuru","tsuru-plugins"],"created_at":"2024-10-10T22:09:58.472Z","updated_at":"2025-03-20T22:30:52.208Z","avatar_url":"https://github.com/scorphus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tsuru-plugins\n\nThis repo contains the following plugins:\n\n- [app-address](#app-address) - Display addresses of a given app\n- [env-list](#env-list) - List environment variables of a given app\n- [goreplay](#goreplay) - Sniff the network interface and replay requests on\n  another app\n\n\n## app-address\n\nDisplay all the addresses of a given app:\n\n```\n»»»» tsuru app-address -a foo-bar\nfoo-bar.cloud.domain.com\nfoo-bar.baz.domain.com\nfoo-bar.baz.globo.com\n```\n\nFor one address only:\n\n```\n»»»» tsuru app-address -a foo-bar -o\nfoo-bar.baz.globo.com\n```\n\nOr, if you need the *IP* address:\n\n```\n»»»» tsuru app-address -a foo-bar -i\nfoo-bar.cloud.domain.com\n```\n\n\n## env-list\n\nList all the environment variables that were set (via `env-set`) for a given\napp:\n\n```\n»»»» tsuru env-list -a foo-bar\nBAR_ASYNC_TIMEOUT=359\nLOG_LEVEL=DEBUG\nMONGO_DATABASE=*** (private variable)\nMONGO_PASSWORD=*** (private variable)\nMONGO_USER=*** (private variable)\nNODE_ENV=production\nUSE_PROXY=true\n```\n\nDisplay private variables too:\n\n```\n»»»» tsuru env-list -a foo-bar -p\nBAR_ASYNC_TIMEOUT=359\nLOG_LEVEL=DEBUG\nMONGO_DATABASE=my_database\nMONGO_PASSWORD=xptoxpto\nMONGO_USER=my_user\nNODE_ENV=production\nUSE_PROXY=true\n```\n\nOr specific ones:\n\n```\n»»»» tsuru env-list -a foo-bar -p MONGO_DATABASE MONGO_PASSWORD MONGO_USER\nMONGO_DATABASE=my_database\nMONGO_PASSWORD=xptoxpto\nMONGO_USER=my_user\n```\n\n\n## goreplay\n\nSniff the network interface and replay requests on another app.\n\nDisplay installation instructions:\n\n```\n»»»» tsuru goreplay install\nTo install, add the following to your tsuru.yaml and deploy your app:\nhooks:\n    build:\n        - 'sudo apt-get -y install screen'\n        - 'curl -sfSL -o goreplay.tar.gz https://github.com/buger/goreplay/releases/download/v0.16.1/gor_0.16.1_x64.tar.gz'\n        - 'tar xvf goreplay.tar.gz'\n```\n\nReplay **ALL** (!CAUTION!) requests received by app `foo-bar-prod` on another\napp (e.g. foo-bar-qa):\n\n```\n»»»» tsuru goreplay start -a foo-bar-prod '--output-http http://foo-bar-qa.domain.com'\nStarting...\nDone!\n```\n\nReplay 5% of requests:\n\n```\n»»»» tsuru goreplay start -a foo-bar-prod '--output-http \"http://foo-bar-qa.domain.com|5%\"'\nStarting...\nDone!\n```\n\nReplay 5% of `GET` requests:\n\n```\n»»»» tsuru goreplay start -a foo-bar-prod '--output-http \"http://foo-bar-qa.domain.com|5%\" --http-allow-method GET'\nStarting...\nDone!\n```\n\nReplay 5% of `GET` requests on `/foo/bar`:\n\n```\n»»»» tsuru goreplay start -a foo-bar-prod '--output-http \"http://foo-bar-qa.domain.com|5%\" --http-allow-method GET --http-allow-url /foo/bar'\nStarting...\nDone!\n```\n\nOnce you're done, stop it:\n\n```\n»»»» tsuru goreplay stop -a foo-bar-prod\nStopping...\nDone!\n```\n\nFor GoReplay options:\n\n```\n»»»» tsuru goreplay options -a foo-bar-prod\nGor is a simple http traffic replication tool written in Go. Its main goal is to replay traffic from production servers to staging and dev environments.\nProject page: https://github.com/buger/gor\nAuthor: \u003cLeonid Bugaev\u003e leonsbox@gmail.com\nCurrent Version: 0.16.1\n\n  -cpuprofile string\n    \twrite cpu profile to file\n  -debug verbose\n    \tTurn on debug output, shows all intercepted traffic. Works only when with verbose flag\n  -exit-after duration\n    \texit after specified duration\n  -http-allow-header value\n    \tA regexp to match a specific header against. Requests with non-matching headers will be dropped:\n\t gor --input-raw :8080 --output-http staging.com --http-allow-header api-version:^v1 (default [])\n  -http-allow-method value\n    \tWhitelist of HTTP methods to replay. Anything else will be dropped:\n\tgor --input-raw :8080 --output-http staging.com --http-allow-method GET --http-allow-method OPTIONS (default [])\n  -http-allow-url value\n    \tA regexp to match requests against. Filter get matched against full url with domain. Anything else will be dropped:\n\t gor --input-raw :8080 --output-http staging.com --http-allow-url ^www. (default [])\n\n[snip]\n```\n\nCheck GoReplay docs on https://github.com/buger/goreplay/wiki\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscorphus%2Ftsuru-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscorphus%2Ftsuru-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscorphus%2Ftsuru-plugins/lists"}