/oslo

CLI tool for the OpenSLO spec

Primary LanguageGoApache License 2.0Apache-2.0

oslo

CLI tool for the OpenSLO spec. For more information also check the website: openslo.com.

Prerequisites

Installation

From source

  1. Checkout this repository
  2. Install oslo with go get github.com/OpenSLO/oslo

Homebrew

  1. brew tap openslo/openslo
  2. brew install oslo

From Docker

  1. docker run -v "$(pwd):/manifests" ghcr.io/openslo/oslo:latest <command> /manifests/<file>.yaml

For example, if you had an OpenSLO spec file in the current directory called myservice.yaml, and you wanted to validate it, the full command would be:

# docker run -v "$(pwd):/manifests" ghcr.io/openslo/oslo:latest validate /manifests/myservice.yaml
Valid!

Usage

Validate

oslo validate will validate the provided OpenSLO YAML document

Convert

oslo convert will convert the given OpenSLO YAML document to the provided format.

example:

oslo convert -f file1.yaml -f file2.yaml -o nobl9

That will take the provided yaml files, convert them to Nobl9 formatted config format, and output to stdout.

NOTE: Currently only Nobl9 is supported for output. Additionally, deeply nested metric sources are not supported. For metric sources that might have a deeply nested structure, we support a flattened structure, e.g.

metricSource:
  type: Instana
  spec:
    infrastructure.query: "myQuery"
    infrastructure.metricRetrievalMethod: "myMetricRetrievalMethod"

Testing

To test out the features of oslo, from the root of the project run oslo validate test/valid-service.yaml That will validate against a valid yaml file. There are other files in that directory to test out the functionality of oslo