MCPcopy Index your code
hub / github.com/appclacks/cabourotte

github.com/appclacks/cabourotte @v2.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.3.0 ↗ · + Follow
293 symbols 1,019 edges 47 files 205 documented · 70%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Cabourotte

Cabourotte is a tool that can be configure to execute health checks on your infrastructure.

Its configuration is available on https://cabourotte.appclacks.com/.

You can use it as a standalone tool but you can also integrate it with the Appclacks server to manage health checks configuration globally and with good tooling (CLI, Terraform provider, Kubernetes operator...).


IT infrastructures are complex. We have more and more equipments, machines, and services to manage. Infrastructures are also more dynamic, with services which can be scaled up and down depending on usage.

The rise of containers orchestrators also made networking more complex. On a network failure, a service could be reachable from one part of your infrastructure but not from another one.

Cabourotte is a tool which allow you to execute healthchecks (HTTP(s), TCP, DNS, TLS including certificate expiration notice, arbitrary commands) on your infrastructure. It already supports various features including:

  • Configurable by using a YAML file, or by using the API. Using the API allows you to dynamically add, update, or remove healthchecks definitions. The API also allows you to list configured healthchecks and to get the latest status for each healthcheck.
  • HTTP service discovery: You can easily integration Cabourotte with anything you want.
  • Prometheus integration: the healthchecks results and executions time are exposed on a Prometheus endpoint alongside various internal metrics.
  • Support exporters, which can be configured to push the healthchecks results to another systems.
  • One-Off healthchecks: You can send requests to the API to execute arbitrary healthchecks and get the healthchecks results in the responses.
  • Hot reload on a SIGHUP.
  • A small frontend to see the current healthchecks status

Lightweight, written in Golang, Cabourotte can run everywhere to detect services and network failures.

Extension points exported contracts — how you extend this code

HealthcheckConfiguration (Interface)
HealthcheckConfiguration is the interface for the healthcheck configuration [6 implementers]
healthcheck/root.go
Exporter (Interface)
Exporter the exporter interface [2 implementers]
exporter/root.go
Healthcheck (Interface)
Healthcheck is the interface for an healthcheck [5 implementers]
healthcheck/root.go

Core symbols most depended-on inside this repo

Base
called by 31
healthcheck/root.go
Start
called by 29
exporter/root.go
Stop
called by 25
exporter/root.go
Get
called by 17
memorystore/root.go
Validate
called by 15
healthcheck/root.go
New
called by 14
prometheus/root.go
New
called by 14
healthcheck/root.go
AddCheck
called by 11
healthcheck/root.go

Shape

Method 167
Function 77
Struct 37
TypeAlias 9
Interface 3

Languages

Go100%

Modules by API surface

healthcheck/root.go25 symbols
healthcheck/type.go23 symbols
healthcheck/http.go18 symbols
healthcheck/dns.go18 symbols
healthcheck/tls.go17 symbols
healthcheck/tcp.go17 symbols
healthcheck/command.go16 symbols
healthcheck/http_test.go13 symbols
exporter/riemann.go13 symbols
exporter/root.go12 symbols
exporter/http.go12 symbols
http/handler.go9 symbols

For agents

$ claude mcp add cabourotte \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page