Skip to content
/ gprobe Public

client app for the gRPC health-checking protocol

License

Notifications You must be signed in to change notification settings

ncbi/gprobe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

    ____  ____
   /    \/    \                             |
  |            |    ,--.  ,--.   .--  .--.  |,--. ,---.
   \::::::::::;    |   |  |   | |    |    | |   | |---'
    `:::::::;'      '--|  |--'  |     '--'  '---' `---
      `:::;'          /   |
        `'         

gprobe is a CLI client for the gRPC health-checking protocol.

Usage

Assuming server is listening on localhost:1234

Check server health (it is considered healthy if it has grpc.health.v1.Health service and is able to serve requests)

gprobe localhost:1234

Check specific service health

gprobe localhost:1234 my.package.MyService

Get help

gprobe -h

Building

Valid go environment is required to build gprobe (go is in PATH, GOPATH is set, etc.).

Build distributable tarballs for all OSes

make release

Build binary for current OS

make bin

Development

This project follows git-flow branching model. All development is done off of the develop branch. HEAD in production branch should always point to a tagged release. There's no master branch to avoid possible confusion.

To contribute:

  1. Create a feature branch from the latest develop, commit your work there
    git checkout develop
    git pull
    git checkout -b feature/<feature_description>
  2. Run go fmt and all the checks before committing any code
    go fmt ./...
    make lint test acctest
  3. When the change is ready in a separate commit update CHANGELOG.md describing the change. Follow keepachangelog guidelines
  4. Create PR to develop

To release:

  1. Create a release branch from the latest develop and update CHANGELOG.md there, setting version and date
    git checkout -b release/1.2.3
  2. Create PR to production
  3. Once PR is merged, tag HEAD commit using annotated tag
    git tag -a 1.2.3 -m "1.2.3"
  4. Merge production back to develop. Do not use fast-forward merges
    git checkout develop
    git merge --no-ff production
-