Metadata-Version: 2.1
Name: infracheck
Version: 1.0.2.dev14
Summary: KISS healthcheck implemented in Python and Bash
Home-page: https://github.com/riotkit-org/infracheck
Author: RiotKit Collective
Author-email: marek_andrzejczak@riseup.net
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Utilities
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.7
Requires-Dist: setuptools
Requires-Dist: tornado (>=5)
Requires-Dist: unittest-data-provider
Requires-Dist: coverage
Requires-Dist: mock

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"
```



