DEVELOPMENT
A development guide for logging operator

Pre-requisites

Access to Kubernetes cluster

First of all, you will need access to a Kubernetes cluster. The easiest way to start is minikube.
  • Virtualbox - hypervisor to run a Kubernetes cluster
  • Minikube - for Kubernetes cluster creation on the local machine
  • Kubectl - to interact with Kubernetes cluster

Tools to build an Operator

Apart from the Kubernetes cluster, there are some tools that are needed to build and test the "Logging Operator".
Required Tools:-

Build Locally

To achieve this, execute this command:-
make manager

Build Image

The Logging operator gets packaged as a container image for running on the Kubernetes cluster. These instructions will guide you to build an image.
make bundle-build

Testing

If you want to play it on Kubernetes. You can use a minikube.
# Start minikube
minikube start --vm-driver virtualbox --cpus=4 --memory=8000
helm upgrade elastic-stack ./ -f values.yaml \
--set elasticsearch.enabled=true \
--set elasticsearch.master.enabled=true \
--set elasticsearch.master.replicas=3 \
--set elasticsearch.data.enabled=true \
--set elasticsearch.data.replicas=3 \
--set elasticsearch.client.enabled=true \
--set elasticsearch.client.replicas=1 \
--set elasticsearch.ingestion.enabled=true \
--set elasticsearch.ingestion.replicas=1 \
--set fluentd.enabled=true --set kibana.enabled=true \
--namespace logging-operator --install

Run Tests

make test