Skip to content

cirocosta/slirunner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sli runner

probes your Concourse installation, generating Service Level Indicators (SLIs)

sample dashboard

why

Even tough Concourse emits many metrics that are useful for an operator, it might still be hard to have a quick grasp of how high-level funcitionality is performing.

With SLIs , one is able to better reason about what's broken on user-facing functionality that the service exposes.

prior

Before slirunner, oxygen-mask was the solution for running high-level probes against Concourse installation.

It has a few quirks that I don't think are necessary to have:

  • requires another Concourse installation to run those probes
  • tightly coupled to datadog
  • performs UI testing

what

slirunner is a single Go binary that, once "installed" (run somewhere), periodically executes several probes against Concourse, keeping track of the successes and failures.

A consumer of slirunner can consume the reports from two mediums:

It also supports:

  • single runs
  • TODO: worker-related probing against multiple tags and teams

usage

There are several ways of running slirunner.

In the end, it's always the slirunner being run with some flags set.

Usage:
  slirunner [OPTIONS] <once | start>

Help Options:
  -h, --help  Show this help message

Available commands:
  once   performs a single run of the SLIs suite
  start  initiates the periodic run of the SLIs suite

The binary can either be built using go:

$ go get -u github.com/cirocosta/slirunner

or fetched from the releases page:

$ curl -SL https://github.com/cirocosta/slirunner/releases/download/v0.1.0/slirunner.tgz | tar xvzf -
fly slirunner

With that done, it's all about having it running:

slirunner start \
  --target $TARGET_TO_GENERATE \
  --username $CONCOURSE_BASIC_AUTH_USERNAME \
  --password $CONCOURSE_BASIC_AUTH_PASSWORD \
  --concourse-url $URL_OF_THE_CONCOURSE_INSTALLATION

using docker / kubernetes

A container image cirocosta/slirunner is continuously pushed to https://hub.docker.com/r/cirocosta/slirunner.

e.g., using docker-compose:

version: '3'
services:
  slirunner:
    image: cirocosta/slirunner
    command:
      - start
      - --target=test
      - --concourse-url=http://web:8080
      - --password=test
      - --username=test

For kubernetes, check out the example under ./examples/kubernetes.yaml.

license

See ./LICENSE