oslo
CLI tool for the OpenSLO spec. For more information also check the website: openslo.com.
Prerequisites
Installation
From source
- Checkout this repository
- Install oslo with
go get github.com/OpenSLO/oslo
Homebrew
brew tap openslo/openslo
brew install oslo
From Docker
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