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 specification (currently v1).
See the design document for more details on what osko aims to do.
osko is in very active development, hardly functional and definitely not stable. Until a v1 release comes around, use at your own risk.
- You’ll need a Kubernetes cluster to run
osko. You can use KIND to get a local cluster for testing, or run against a remote cluster.- refer to the Installation and usage section of the 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).
- Install the CRDs into the cluster:
make install- We also depend on Prometheus Operator CRDs (
monitoring.coreos.comAPI group). Let's install that to our local cluster now:
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- Install sample CRDs into the cluster, so
oskohas resources to work with:
kubectl apply -k config/samples/- Run your controller (this will run in the foreground, so switch to a new terminal if you want to leave it running):
make runNOTE: You can also run this in one step by running: make install run
If you are editing the API definitions, generate the manifests such as CRs or CRDs using:
make manifestsNOTE: Run make --help for more information on all potential make targets
More information can be found via the Kubebuilder Documentation
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
-sflag duringgit commitafter reading the project's DCO. - It would be greatly appreciated if you tried using Conventional Commits for the commit style.
For license, see the LICENSE file in the root of this repository.
If you have any questions or need general advice or help, feel free to join the #osko channel on the OpenSLO Slack
