Skip to main content

KISS healthcheck implemented in Python and Bash

Project description

InfraCheck
==========

[![Documentation Status](https://readthedocs.org/projects/infracheck/badge/?version=latest)](https://infracheck.docs.riotkit.org/en/latest/?badge=latest)
[![Build Status](https://travis-ci.org/riotkit-org/infracheck.svg?branch=master)](https://travis-ci.org/riotkit-org/infracheck)
![GitHub release](https://img.shields.io/github/release/riotkit-org/infracheck.svg?style=popout)
![PyPI](https://img.shields.io/pypi/v/infracheck.svg?style=popout)
[![codecov](https://codecov.io/gh/riotkit-org/infracheck/branch/master/graph/badge.svg)](https://codecov.io/gh/riotkit-org/infracheck)

Health check system designed to be easy to extend by not enforcing the programming language.
A single health check unit (let we call it later just 'check') can be written even in BASH.


Dictionary
----------

- `script` - a script that is checking something
- `check` - your definition (input arguments) how to use a `check` eg. "type": http + params what is the URL, you can define multiple configurations for single check


Guide to "check" creation
-------------------------
1. Write a `script` in any programming language, take environment variables as input (skip this step if you want to use existing pre-defined scripts)
2. Create a json `check` that will contain a working configuration example for your `script`.

Running
-------

See a working example in the `./example` directory.

```bash
# from this directory
make install

infracheck --help
```

docker or docker-compose:

```yaml
version: '2'
services:
healthcheck:
image: wolnosciowiec/infracheck
command: " --directory=/data --server-path-prefix=/some-prefix"
volumes:
# place your health checks structure at ./healthchecks
- "./healthchecks:/data"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
ports:
- "8000:8000"
#labels:
# - "traefik.frontend.rule=Host: health.localhost; PathPrefix: /some-prefix"
# - "traefik.enable=true"
# - "traefik.basic.protocol=${PROTO}"
# - "traefik.port=8000"
```



Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for infracheck, version 0.0.1.dev49
Filename, size File type Python version Upload date Hashes
Filename, size infracheck-0.0.1.dev49-py3-none-any.whl (14.8 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size infracheck-0.0.1.dev49.tar.gz (42.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page