checkly / checkly-operator

Kubernetes checkly operator
11 stars 3 forks source link
checkly golang k8s kubernetes operator

checkly-operator

Build and push

A kubernetes operator for checklyhq.com.

The operator can create checklyhq.com checks, groups and alert channels based of kubernetes CRDs and Ingress object annotations.

Documentation

Please see our docs for more details on how to install and use the operator.

Get involved

Join us on the #checkly-k8s-operator channel in the Checkly community Slack, where we're discussing everything related to the project. If you're interested in contributing, be sure to check out CONTRIBUTING.md for more details.

Development

direnv

We're using direnv to manage environment variables for this project (or export them manually and you can skip this step). Make sure you generate a checkly API key and you get the account ID as well.

touch .envrc
echo "export CHECKLY_API_KEY=foorbarbaz" > .envrc
echo "export CHECKLY_ACCOUNT_ID=randomnumbers" >> .envrc
direnv allow .

Makefile

Make sure your current kubectl context is set to the appropriate kubernetes cluster where you want to test the operator, then run

kubectl apply -f config/crd/bases/k8s.checklyhq.com_apichecks.yaml
kubectl apply -f config/crd/bases/k8s.checklyhq.com_groups.yaml
kubectl apply -f config/crd/bases/k8s.checklyhq.com_alertchannels.yaml
make run

If you update any of the types for the CRD, run

make manifests

and re-apply the CRD.

Testing the controller

Unit and integration tests

Running locally

See docs for details.

Source material

Sources used for kick starting this project:

Versions

We're using the following versions of packages:

Tested with K8s v1.29.