mirror of
https://github.com/eosswedenorg/antelope-api-healthcheck
synced 2026-06-15 04:40:51 +02:00
No description
| .github/workflows | ||
| cmd | ||
| debian | ||
| internal | ||
| scripts | ||
| .gitignore | ||
| compile.sh | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| set-version.sh | ||
Antelope API Healthcheck for HAProxy
This program implements Antelope healthcheck for HAProxy over TCP.
Compiling
You will need golang version 1.16 or later to compile the source.
compile with compile.sh script
./compile.sh
Execute ./compile.sh --help to see all available flags to crosscompile for different systems/architectures.
Package
run ./package.sh to generate package. Debian (.deb) and FreeBSD are supported.
TCP Protocol
The protocol is simple and has 4 rules.
- Data is transmitted in
packetsencoded in ascii and ends with newline\n. - There are two types of packages:
RequestandResponse. EachRequesthas exactly oneResponse. - Each parameter inside a
Requestis separated by| - Each response contains exactly one
status code(see below)
Request
The following parameters are supported in a request and are ordered from first to last below:
| # | Name | Required | Description |
|---|---|---|---|
| 1 | api | Yes | Type of API to check against,v1 = standard, v2 = Hyperion, atomic = atomicassets |
| 2 | url | Yes (port default 80) |
http url to the api.http(s)://<ip-or-domain>(:<port>) |
| 3 | num_blocks | No (default 10) |
Number of blocks the api can drift before reported down |
| 4 | host | No (default from url) |
Value to send in the HTTP Host Header to the API |
Response
The api can respond with exactly one status code.
See HAproxy documentation for more information
| code | Description |
|---|---|
up |
Api is healthy |
down |
Api is not healthy |
fail |
The program failed to read the status from the api. |
maint |
Api is set in maintenance mode (not used) |
ready |
Api is ready again after being in maint state (not used) |
stopped |
Api has been stopped manually (not used) |
Author
Henrik Hautakoski - henrik@eossweden.org