cmdprobe 0.1.1

A tool for executing checks and validating their outputs
Documentation
# cmdprobe
A utility for running arbitrary commands and checking their output


## Install
```shell
cargo install cmdprobe
```


## Usage

### Basic execution
See the example `cmdprobe.yaml` file for what configuration is available.

Construct your own configuration file, and then run cmdprobe against it to execute
all the checks that you need to do.

```shell
cmdprobe --config-file /etc/cmdprobe.yml
```

### Emitting statsd metrics
You can supply a statsd host and `cmdprobe` will emit metrics for each test & stage.

```shell
cmdprobe --config-file /etc/cmdprobe.yml --statsd-address 127.0.0.1:8125
```

The following metrics will be emitted:

```
# Did the entire probe run fail/succeed
cmdprobe.probe.failed
cmdprobe.probe.passed

# Did one check (a collection of stages) fail/succeed
cmdprobe.check.failed
cmdprobe.check.passed

# Did an indidivual stage within a check fail/succeed
cmdprobe.stage.failed
cmdprobe.stage.passed
```


## Running locally
Ensure you have a `cmdprobe.yaml` file in the current directory

```shell
# Start the httpbin for testing
docker-compose up -d

# Run cmdprobe with the local config file
RUST_LOG=cmdprobe=INFO cargo run
```

## Inspiration

I modelled this tool after [Tavern](https://taverntesting.github.io/) so that my
team would have an easy time understanding how to use it and migrate existing tests across.