{"id":19312213,"url":"https://github.com/bigcommerce/bonvoy","last_synced_at":"2025-09-20T23:43:00.706Z","repository":{"id":141664653,"uuid":"374749951","full_name":"bigcommerce/bonvoy","owner":"bigcommerce","description":"Go utility CLI tool for Envoy and Consul Connect ","archived":false,"fork":false,"pushed_at":"2024-11-05T17:50:15.000Z","size":434,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-02-24T03:45:01.368Z","etag":null,"topics":["golang","hashicorp","hashicorp-consul","hashicorp-nomad"],"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/bigcommerce.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2021-06-07T17:36:15.000Z","updated_at":"2024-11-05T17:49:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"ea090a74-9f14-4f23-9702-df437d009400","html_url":"https://github.com/bigcommerce/bonvoy","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/bigcommerce/bonvoy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigcommerce%2Fbonvoy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigcommerce%2Fbonvoy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigcommerce%2Fbonvoy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigcommerce%2Fbonvoy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bigcommerce","download_url":"https://codeload.github.com/bigcommerce/bonvoy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigcommerce%2Fbonvoy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260093060,"owners_count":22957589,"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":["golang","hashicorp","hashicorp-consul","hashicorp-nomad"],"created_at":"2024-11-10T00:33:38.168Z","updated_at":"2025-09-20T23:42:55.662Z","avatar_url":"https://github.com/bigcommerce.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bonvoy\n\n[![CircleCI](https://circleci.com/gh/bigcommerce/bonvoy/tree/main.svg?style=svg\u0026circle-token=df991e7eb7eb4c38c2ece44f81cc259d6d9a8929)](https://circleci.com/gh/bigcommerce/bonvoy/tree/main) [![Maintainability](https://api.codeclimate.com/v1/badges/63e2c2eb1a4e00d269e2/maintainability)](https://codeclimate.com/repos/61f18cc93e634f01a300d78c/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/63e2c2eb1a4e00d269e2/test_coverage)](https://codeclimate.com/repos/61f18cc93e634f01a300d78c/test_coverage)\n\nA simple go CLI tool to perform various tasks against Envoy sidecars in a Consul\nConnect and Nomad environment.\n\nSupports Consul 1.10+, Nomad 1.1.3+, and Envoy 1.18+. Requires DOCKER_API_VERSION 1.39.\n\n## Usage\n\nThere are various commands you can run. Usually you are required to pass the\nname of the service you want to query the sidecar for.\n\nAll commands have the ability to output in JSON format with: `-o json`\n\n### Listeners\n\nList all listeners:\n```bash\n$ bonvoy listeners list products-grpc\n\nListeners for products-grpc Envoy (PID 14013)\n--------------------------------------------------------------------------\n              NAME                 |    ADDRESS\n-----------------------------------+-----------------\n  envoy_metrics_listener           | 0.0.0.0:1239\n  public_listener:0.0.0.0:22904    | 0.0.0.0:22904\n  product-variants:127.0.0.1:8003  | 127.0.0.1:8003\n  product-options:127.0.0.1:8004   | 127.0.0.1:8004\n```\n\n### Clusters\n\nList all clusters for a sidecar:\n```bash\n$ bonvoy clusters list products-grpc\n\nproducts-grpc.default.int-us-east1.internal.asdf1234.consul\n------------------------------------------------------------------------------------------------------------\n  Outlier: Success Rate          | -1   | Outlier: Success Rate Ejection | -1\n                                 |      | Threshold                      |\n  Outlier: Local Origin -        | -1   | Outlier: Local Origin          | -1\n  Success Rate                   |      | - Success Rate Ejection        |\n                                 |      | Threshold                      |\n  Default Priority - Max         | 2048 | Default Priority - Max Retries | 3\n  Connections                    |      |                                |\n  Default Priority - Max Pending | 1024 | Default Priority - Max         | 1024\n  Requests                       |      | Requests                       |\n  High Priority - Max            | 1024 | High Priority - Max Retries    | 3\n  Connections                    |      |                                |\n  High Priority - Max Pending    | 1024 | High Priority - Max Requests   | 1024\n  Requests                       |      |                                |\n\n---------------------\n- Cluster Instances -\n---------------------\n         HOST   | CX ACTIVE | CX FAILED | CX TOTAL | REQ ACTIVE | REQ TIMEOUT | REQ SUCCESS | REQ ERROR | REQ TOTAL | SUCCESS RATE | LOCAL SUCCESS RATE | HEALTH FLAGS | REGION | ZONE | SUBZONE | CANARY\n----------------+-----------+-----------+----------+------------+-------------+-------------+-----------+-----------+--------------+--------------------+--------------+--------+------+---------+---------\n  1.2.3.4:23837 |         1 |         0 |        1 |          0 |           0 |    23436077 |         0 |  23436077 |         -1.0 |               -1.0 |      healthy |        |      |         |  false\n  1.2.3.5:23910 |         1 |         0 |        1 |          0 |           0 |    23613685 |         0 |  23613685 |         -1.0 |               -1.0 |      healthy |        |      |         |  false\n  1.2.3.6:23011 |         1 |         0 |        1 |          0 |           0 |    54314043 |         0 |  54314043 |         -1.0 |               -1.0 |      healthy |        |      |         |  false\n```\n\n### Certificates\n\nList all certificates:\n\n```bash\n$ bonvoy certificates list products-grpc\n\n----------------------------------------------------------------------------\nproducts-grpc Envoy (PID 14013)\n----------------------------------------------------------------------------\nCertificate Chains:\n  SAN                                                                   | SERIAL # |   PATH   |      VALID FROM      |   EXPIRATION TIME    | DAYS UNTIL EXPIRATION\n------------------------------------------------------------------------+----------+----------+----------------------+----------------------+------------------------\n  spiffe://asdf1234.consul/ns/default/dc/int-us-east1/svc/products-grpc | 17d220e0 | \u003cinline\u003e | 2022-01-24T22:56:46Z | 2022-01-27T22:56:46Z | 1\n  spiffe://asdf1234.consul/ns/default/dc/int-us-east1/svc/products-grpc | 17d220e0 | \u003cinline\u003e | 2022-01-24T22:56:46Z | 2022-01-27T22:56:46Z | 1\n  spiffe://asdf1234.consul/ns/default/dc/int-us-east1/svc/products-grpc | 17d220e0 | \u003cinline\u003e | 2022-01-24T22:56:46Z | 2022-01-27T22:56:46Z | 1\n\nCA Certificates:\n  SAN                      | SERIAL # |   PATH   |      VALID FROM      |   EXPIRATION TIME    | DAYS UNTIL EXPIRATION\n---------------------------+----------+----------+----------------------+----------------------+------------------------\n  spiffe://asdf1234.consul | 17ce3503 | \u003cinline\u003e | 2020-07-20T16:05:55Z | 2030-07-20T16:05:55Z | 3096\n  spiffe://asdf1234.consul | 17ce3503 | \u003cinline\u003e | 2020-07-20T16:05:55Z | 2030-07-20T16:05:55Z | 3096\n  spiffe://asdf1234.consul | 17ce3503 | \u003cinline\u003e | 2020-07-20T16:05:55Z | 2030-07-20T16:05:55Z | 3096\n\n```\n\nList all expired certificates as compared to the Consul Agent:\n```bash\n$ bonvoy certificates expired products-grpc\n\n  SERVICE | PID | ENVOY EXPIRY | DAYS LEFT | CONSUL LEAF EXPIRY | RESTARTED\n----------+-----+--------------+-----------+--------------------+------------\n```\n\nOr show all certs expired on a host:\n```bash\n$ bonvoy certificates expired all\n\n  SERVICE | PID | ENVOY EXPIRY | DAYS LEFT | CONSUL LEAF EXPIRY | RESTARTED\n----------+-----+--------------+-----------+--------------------+------------\n```\n\n### Config\n\nDump the config:\n```bash\n$ bonvoy config dump products-grpc\n\n# configuration dumped here in JSON format\n```\n\n### Server\n\nOutput server information:\n```bash\n$ bonvoy server info products-grpc\n\n----------------------\n- Server Information -\n----------------------\n  Service             | products-grpc\n  Envoy Pid           | 14013\n  Version             | asdf/1.22.0/Clean/RELEASE/BoringSSL\n  Hot Restart Version | disabled\n  State               | LIVE\n  Uptime              | 1115062s\n\n--------------------\n- Node Information -\n--------------------\n  Node ID       | _nomad-task-asdf-group-products-grpc-sidecar-proxy\n  Node Cluster  | products-grpc\n  User Agent    | envoy\n  Envoy Version | 1.22.0\n  Namespace     | default\n\n------------------------\n- Command Line Options -\n------------------------\n  Concurrency          | 24\n  Mode                 | Serve\n  Log Level            | info\n  Component Log Level  |\n  Log Format           | [%Y-%m-%d %T.%e][%t][%l][%n]\n                       | [%g:%#] %v\n  Drain Strategy       | Gradual\n  Drain Time           | 100s\n  Config Path          | /path/to/envoy_bootstrap.json\n  Parent Shutdown Time | 200s\n```\n\nShow server memory statistics:\n```bash\n$ bonvoy server memory products-grpc\n\n----------------------\n- Server Memory Info -\n----------------------\n  Service              | products-grpc\n  Envoy Pid            | 14013\n  Allocated            | 16349720\n  Heap Size            | 41943040\n  Page Heap (Unmapped) | 0\n  Page Heap (Free)     | 3317760\n  Total Physical Bytes | 43894086\n  Total Thread Cache   | 20066256\n```\n\n### Logging\n\nSet the log level for a sidecar:\n```bash\n$ bonvoy log level products-grpc -l debug\n```\n\n## License\n\nCopyright (c) 2021-present, BigCommerce Pty. Ltd. All rights reserved\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit\npersons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the\nSoftware.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE\nWARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigcommerce%2Fbonvoy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbigcommerce%2Fbonvoy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigcommerce%2Fbonvoy/lists"}