Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/openslo/oslo
CLI tool for the OpenSLO spec
https://github.com/openslo/oslo
go golang hacktoberfest slo yaml
Last synced: about 17 hours ago
JSON representation
CLI tool for the OpenSLO spec
- Host: GitHub
- URL: https://github.com/openslo/oslo
- Owner: OpenSLO
- License: apache-2.0
- Created: 2021-04-30T02:49:54.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-17T18:56:22.000Z (8 days ago)
- Last Synced: 2024-12-17T19:05:54.838Z (8 days ago)
- Topics: go, golang, hacktoberfest, slo, yaml
- Language: Go
- Homepage:
- Size: 920 KB
- Stars: 203
- Watchers: 13
- Forks: 36
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# oslo
CLI tool for the [OpenSLO spec](https://github.com/OpenSLO/OpenSLO). For more
information also check the website: [openslo.com](https://openslo.com/).## Prerequisites
- [Go](https://golang.org/)
## Installation
### Go install
```sh
go install github.com/OpenSLO/oslo/cmd/oslo@latest
```### From source
1. Checkout this repository
1. From the root of the project, run `make install`. This will build and install
the binary into your `GOPATH`### Homebrew
```sh
brew install openslo/openslo/oslo
```### From Docker
1. `docker run -v "$(pwd):/manifests" ghcr.io/openslo/oslo:latest /manifests/.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:```bash
# docker run -v "$(pwd):/manifests" ghcr.io/openslo/oslo:latest validate -f /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:
```bash
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.```yaml
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`