https://github.com/oskoperator/osko
OpenSLO Kubernetes Operator
https://github.com/oskoperator/osko
kubernetes-operator monitoring openslo slo
Last synced: 4 months ago
JSON representation
OpenSLO Kubernetes Operator
- Host: GitHub
- URL: https://github.com/oskoperator/osko
- Owner: oskoperator
- License: apache-2.0
- Created: 2023-06-30T10:38:52.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-09-14T18:51:30.000Z (10 months ago)
- Last Synced: 2026-01-14T22:24:51.797Z (6 months ago)
- Topics: kubernetes-operator, monitoring, openslo, slo
- Language: Go
- Homepage:
- Size: 6.49 MB
- Stars: 19
- Watchers: 2
- Forks: 3
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Dco: DCO
Awesome Lists containing this project
README
# osko - OpenSLO Kubernetes Operator
This operator aims to provide it's users with simple management of SLIs, SLOs, alerting rules and alerts routing via Kubernetes CRDs according to the [OpenSLO](https://github.com/OpenSLO/OpenSLO) specification (currently `v1`).
See the [design document](DESIGN.md) for more details on what `osko` aims to do.
## Here be dragons!
`osko` is in very active development, hardly functional and definitely not stable. Until a `v1` release comes around, use at your own risk.
## Test It Out
1. You’ll need a Kubernetes cluster to run `osko`. You can use [KIND](https://sigs.k8s.io/kind) to get a local cluster for testing, or run against a remote cluster.
- refer to the [Installation and usage](https://github.com/kubernetes-sigs/kind#installation-and-usage) section of the [KIND](https://sigs.k8s.io/kind) README to use KIND.
**Note:** Your controller will automatically use the current context in your kubeconfig file (i.e. whatever cluster `kubectl cluster-info` shows).
2. Install the CRDs into the cluster:
```sh
make install
```
3. We also depend on Prometheus Operator CRDs (`monitoring.coreos.com` API group). Let's install that to our local cluster now:
```sh
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus-operator-crds prometheus-community/prometheus-operator-crds
```
4. Install sample CRDs into the cluster, so `osko` has resources to work with:
```sh
kubectl apply -k config/samples/
```
5. Run your controller (this will run in the foreground, so switch to a new terminal if you want to leave it running):
```sh
make run
```
**NOTE:** You can also run this in one step by running: `make install run`
#### Modifying the API definitions
If you are editing the API definitions, generate the manifests such as CRs or CRDs using:
```sh
make manifests
```
**NOTE:** Run `make --help` for more information on all potential `make` targets
More information can be found via the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html)
## Contributing
Feel free to open an issue or a pull (merge) request if
you would like to see a particular feature implemented after reading the below requirements:
- Please sign your commits off using the `-s` flag during `git commit` after reading the
project's [DCO](DCO).
- It would be greatly appreciated if you tried using
[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for the commit style.
## License
For license, see the [LICENSE](LICENSE) file in the root of this repository.
## Community
If you have any questions or need general advice or help, feel free to join the
[#osko channel on the OpenSLO Slack](https://openslo.slack.com/archives/C06T64CP5DK)
## Sponsors