The Coralogix Operator provides Kubernetes-native deployment and management for Coralogix, designed to simplify and automate the configuration of Coralogix APIs through Kubernetes custom resources.
The operator integrates with Kubernetes by supporting a variety of custom resources and controllers to simplify Coralogix management, including:
- Custom Resources for Coralogix: Easily deploy and manage Coralogix features, using custom resources like Alerts, RecordingRuleGroupSets, RuleGroups, OutboundWebhooks and others. For a complete list of available APIs and their details, refer to the API documentation.
- Prometheus Operator Integration: The Operator leverages Prometheus Operator CRDs like PrometheusRule and AlertmanagerConfig, to simplify the transition to Coralogix by utilizing existing monitoring configurations. For more details on this integration, see the Prometheus Integration documentation.
You’ll need a Kubernetes cluster to run against. You can use KIND to get a local cluster for testing, or run against a remote cluster.
- Clone the operator repository and navigate to the project directory:
git clone https://github.com/coralogix/coralogix-operator.git
cd coralogix-operator
- Install the CRDs into the cluster:
make install
- Set the Coralogix API key and region as environment variables:
$ export CORALOGIX_API_KEY="<api-key>"
$ export CORALOGIX_REGION="<region>"
For private domain set the CORALOGIX_DOMAIN
environment variable.
- For a custom operator image, build and push your image to the location specified by
IMG
:
make docker-build docker-push IMG=<some-registry>/coralogix-operator:tag
- Deploy the operator to the cluster with the image specified by
IMG
:
make deploy IMG=coralogixoperator/coralogix-operator:latest
- Verify that the operator's pod is running:
kubectl get pods -n coralogix-operator-system
Undeploy the controller to the cluster:
make undeploy
Please refer to CONTRIBUTING.md.
This project aims to follow the Kubernetes Operator pattern. It uses Controllers which provides a reconcile function responsible for synchronizing resources until the Desired state is reached on the cluster.