observability-operator

module
v0.62.0 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2026 License: Apache-2.0

README

CircleCI

observability-operator

This operator is in charge of handling the setup and configuration of the Giant Swarm observability platform.

It reconciles cluster.cluster.x-k8s.io objects and makes sure each Cluster is provided with:

  • TODO(atlas) update this section

Features

Alertmanager config provisioning

It will look for kubernetes Secrets and use them as alertmanager configs if they meet these criteria:

  • a label observability.giantswarm.io/kind: alertmanager-config
  • an annotation or label observability.giantswarm.io/tenant set to the tenant that the alertmanager config should be loaded in.

Current limitations:

  • no support for merging configs for the same tenant. Creating 2 secrets for the same tenant will result in an unexpected behavior as the operator could unknowingly replace one with the other.
  • each alertmanager config belongs to one and only one tenant
Grafana dashboards provisioning

It will look for kubernetes ConfigMaps and use them as dashboards if they meet these criteria:

  • a label app.giantswarm.io/kind: "dashboard"
  • an annotation or label observability.giantswarm.io/organization set to the organization the dasboard should be loaded in.

Current limitations:

  • no support for folders
  • each dashboard belongs to one and only one organization

Getting started

Get the code and build it via:

git clone https://github.com/giantswarm/observability-operator.git
cd observability-operator
make

See make help for help.

If you want to run the operator locally against an existing cluster, you can use make local which will use hack/bin/run-local.sh to setup a local instance for the operator.

Architecture

TODO(atlas): Fill this out

Credits

This operator was built using kubebuilder.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the observability v1alpha1 API group +kubebuilder:object:generate=true +groupName=observability.giantswarm.io
Package v1alpha1 contains API Schema definitions for the observability v1alpha1 API group +kubebuilder:object:generate=true +groupName=observability.giantswarm.io
v1alpha2
Package v1alpha2 contains API Schema definitions for the observability v1alpha2 API group +kubebuilder:object:generate=true +groupName=observability.giantswarm.io
Package v1alpha2 contains API Schema definitions for the observability v1alpha2 API group +kubebuilder:object:generate=true +groupName=observability.giantswarm.io
internal
pkg
agent/collectors
Package collectors provides implementations of various observability collectors for workload clusters.
Package collectors provides implementations of various observability collectors for workload clusters.
agent/collectors/events
Package events provides the events collector implementation for observability.
Package events provides the events collector implementation for observability.
agent/collectors/logs
Package logs provides the logs collector implementation for observability.
Package logs provides the logs collector implementation for observability.
agent/collectors/metrics
Package metrics provides the metrics agent configuration and management.
Package metrics provides the metrics agent configuration and management.
agent/common
Package common provides shared utilities and components for Alloy agent configuration.
Package common provides shared utilities and components for Alloy agent configuration.
alerting/heartbeat
Package heartbeat provides functionality for managing heartbeats in external monitoring systems.
Package heartbeat provides functionality for managing heartbeats in external monitoring systems.
common/tenancy
Package tenancy provides functionality for managing tenant information across the observability platform.
Package tenancy provides functionality for managing tenant information across the observability platform.
tests
alertmanager-routes/default command
Package main provides integration tests for default alertmanager routes
Package main provides integration tests for default alertmanager routes
alertmanager-routes/heartbeat command
Package main provides integration tests for heartbeat alertmanager routes
Package main provides integration tests for heartbeat alertmanager routes
alertmanager-routes/pipeline-stable command
Package main provides integration tests for pipeline-stable alertmanager routes
Package main provides integration tests for pipeline-stable alertmanager routes
alertmanager-routes/pipeline-stable-testing command
Package main provides integration tests for pipeline-stable-testing alertmanager routes
Package main provides integration tests for pipeline-stable-testing alertmanager routes
alertmanager-routes/pipeline-testing command
Package main provides integration tests for pipeline-testing alertmanager routes
Package main provides integration tests for pipeline-testing alertmanager routes
alertmanager-routes/slack command
Package main provides integration tests for slack alertmanager routes
Package main provides integration tests for slack alertmanager routes
alertmanager-routes/ticket command
Package main provides integration tests for ticket alertmanager routes
Package main provides integration tests for ticket alertmanager routes

Jump to

Keyboard shortcuts

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