oskoperator / osko

OpenSLO Kubernetes Operator
Apache License 2.0
16 stars 3 forks source link
kubernetes-operator monitoring openslo slo

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 specification (currently v1).

See the design document 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 to get a local cluster for testing, or run against a remote cluster.

Note: Your controller will automatically use the current context in your kubeconfig file (i.e. whatever cluster kubectl cluster-info shows).

  1. Install the CRDs into the cluster:
make install
  1. We also depend on Prometheus Operator CRDs (monitoring.coreos.com API group). Let's install that to our local cluster now:
helm install prometheus-operator-crds prometheus-community/prometheus-operator-crds
  1. Run your controller (this will run in the foreground, so switch to a new terminal if you want to leave it running):
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:

make manifests

NOTE: Run make --help for more information on all potential make targets

More information can be found via the Kubebuilder Documentation

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:

License

For license, see the 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

Sponsors