Coralogix Operator
Overview
The Coralogix Operator provides Kubernetes-native deployment and management for Coralogix, designed to simplify and automate the configuration of Coralogix APIs through Kubernetes Custom Resource Definitions and controllers.
The operator provides the following capabilities:
- CRDs and controllers: Easily deploy and manage various Coralogix features using custom resources, which are automatically reconciled by the operator. For a complete list of available CRDs and their details, refer to the API documentation. For examples of custom resources, refer to the samples directory.
- Prometheus Operator integration: The Operator leverages PrometheusRule CRD, to simplify the transition to Coralogix Alerts by utilizing existing monitoring configurations. For more details on this integration, refer to the Prometheus Integration documentation.
- Metrics collection: The operator provides metrics for monitoring custom resources and the operator itself. For more details, refer to the Metrics documentation.
Prerequisites
- Kubernetes cluster (v1.16+).
- Prometheus Operator installed - By default, the PrometheusRule Integration is enabled, and a ServiceMonitor is created for the operator. These CRDs are part of the Prometheus Operator. If you are not using Prometheus Operator, you can disable it by setting the
coralogixOperator.prometheusRules.enabled=false
andserviceMonitor.create=false
flags during installation.
Installation
Add the Coralogix Helm repository and update it:
Install the operator:
For a complete list of configuration options, refer to the Helm Chart Docs.helm install <my-release> coralogix/coralogix-operator \ --set secret.data.apiKey="<api-key>" \ --set coralogixOperator.region="<region>"
Upgrade the operator:
To uninstall the operator, run:
Optional: Operator Self Monitoring
To help you monitor the health and performance of the Coralogix operator, we've included a set of recommended resources in this repository. These resources are optional, but highly encouraged for observability, debugging, and operational visibility in production environments. To install, run:
kubectl apply -f https://raw.githubusercontent.com/coralogix/coralogix-operator/refs/heads/main/config/self_monitoring/alert_crs_not_synced.yaml
kubectl apply -f https://raw.githubusercontent.com/coralogix/coralogix-operator/refs/heads/main/config/self_monitoring/alert_reconcile_error_high.yaml
kubectl apply -f https://raw.githubusercontent.com/coralogix/coralogix-operator/refs/heads/main/config/self_monitoring/dashboard-json.yaml
kubectl apply -f https://raw.githubusercontent.com/coralogix/coralogix-operator/refs/heads/main/config/self_monitoring/dashboards_folder.yaml
kubectl apply -f https://raw.githubusercontent.com/coralogix/coralogix-operator/refs/heads/main/config/self_monitoring/recording_rule_group_sets.yaml
Contributing
Please refer to CONTRIBUTING.md.
How it works
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.