humio-operator

command module
Version: v0.0.4-0...-d5d8f24 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2021 License: Apache-2.0 Imports: 20 Imported by: 0

README

Humio-Operator

Build Status Go Report Card

The Humio operator is a Kubernetes operator to automate provisioning, management, autoscaling and operations of Humio clusters deployed to Kubernetes.

Terminology

  • CRD: Short for Custom Resource Definition. This is a way to extend the API of Kubernetes to allow new types of objects with clearly defined properties.
  • CR: Custom Resource. Where CRD is the definition of the objects and their available properties, a CR is a specific instance of such an object.
  • Controller and Operator: These are common terms within the Kubernetes ecosystem and they are implementations that take a defined desired state (e.g. from a CR of our HumioCluster CRD), and ensure the current state matches it. They typically includes what is called a reconciliation loop to help continuously ensuring the health of the system.
  • Reconciliation loop: This is a term used for describing the loop running within controllers/operators to keep ensuring current state matches the desired state.

Installation

See the Installation Guide. There is also a step-by-step Quick Start guide that walks through creating a cluster on AWS.

Running a Humio Cluster

See instructions and examples in the Humio Operator Resources section of the docs.

Development

Unit Testing

Tests can be run by executing:

make test
E2E Testing (Kubernetes)

We use kind and telepresence 2 for local testing.

Note that for running zookeeper and kafka locally, we currently rely on the cp-helm-charts and that that repository is cloned into a directory ~/git/humio-cp-helm-charts.

Prerequisites:

  • The environment variable HUMIO_E2E_LICENSE must be populated with a valid Humio license.

To run a E2E tests locally using kind, execute:

make run-e2e-tests-local-kind

We also have a script to start up kind cluster, deploy to it with Helm and spin up a basic Humio cluster:

hack/test-helm-chart-crc.sh

To delete the kind cluster again, execute:

hack/stop-kind-cluster.sh
E2E Testing (OpenShift)

We use crc and telepresence 2 for local testing.

Note that for running zookeeper and kafka locally, we currently rely on the cp-helm-charts and that that repository is cloned into a directory ~/git/humio-cp-helm-charts.

Prerequisites:

  • Download the crc binary, make it executable and ensure it is in $PATH.
  • Populate a file named .crc-pull-secret.txt in the root of the repository with your pull secret for crc.

To run a e2e tests locally using crc, execute:

make run-e2e-tests-local-crc

We also provide a script to start up crc cluster, deploy to it with Helm and spin up a basic Humio cluster:

hack/test-helm-chart-crc.sh

To delete the crc cluster again, execute:

hack/stop-crc-cluster.sh

Publishing new releases

In order to publish new release of the different components, we have the following procedures we can follow:

Note: For now, we only release one component at a time due to how our workflows in GitHub Actions.

License

Apache License 2.0

Documentation

The Go Gopher

There is no documentation for this package.

Source Files

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group +kubebuilder:object:generate=true +groupName=core.humio.com
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group +kubebuilder:object:generate=true +groupName=core.humio.com
images
helper Module
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL