Skip to content

coralogix/coralogix-operator

Repository files navigation

Coralogix Operator

license GitHub tag (latest SemVer pre-release) Go Report Card e2e-tests

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 resources.

The operator integrates with Kubernetes by supporting a variety of custom resources and controllers to simplify Coralogix management, including:

Getting Started

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.

Running on the cluster

  1. Clone the operator repository and navigate to the project directory:
git clone https://github.com/coralogix/coralogix-operator.git 
cd coralogix-operator
  1. Install the CRDs into the cluster:
make install
  1. 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.

  1. 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
  1. Deploy the operator to the cluster with the image specified by IMG:
make deploy IMG=coralogixoperator/coralogix-operator:latest
  1. Verify that the operator's pod is running:
kubectl get pods -n coralogix-operator-system

Undeploy controller

Undeploy the controller to the cluster:

make undeploy

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.