Skip to content

v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Aug 12:18
Immutable release. Only release title and notes can be modified.
v0.1.0
efcaeef

omni_exporter 0.1.0 (2026-08-04)

Welcome to the v0.1.0 release of omni_exporter!

Please try out the release binaries and report any issues at
https://github.com/siderolabs/omni_exporter/issues.

Omni Exporter

omni_exporter exposes the state of an Omni instance as per-object Prometheus metrics: one series per cluster, machine, machine set, upgrade and etcd backup.
It is kube-state-metrics for Omni, and it works against both self-hosted and SaaS instances.

Omni exposes its own metrics under the omni_ prefix, but those are instance-level aggregates on an internal endpoint.
This exporter is the per-object complement, and all of its metrics use the omni_exporter_ prefix, so the two never collide.

Getting Started

Create a read-only service account on the Omni instance and run the exporter with the key it prints:

omnictl serviceaccount create --use-user-role=false --role=Reader omni-exporter

docker run -d -p 10048:10048 \
  -e OMNI_ENDPOINT=https://<account>.omni.siderolabs.io \
  -e OMNI_SERVICE_ACCOUNT_KEY=<key> \
  ghcr.io/siderolabs/omni_exporter:v0.1.0

Metrics are served on port 10048, which is registered in the Prometheus default port allocations.
The Reader role is enough for everything the exporter reads, and it never writes to Omni.

Design

The exporter maintains a watch per resource type and renders each scrape from an in-memory view, so its cost is driven by the state churn of the instance rather than by the scrape frequency.
Object metrics are suppressed only when serving them would be an outright wrong answer, meaning Omni is unreachable or a resource type has not finished its initial sync.
Gate alerts on omni_exporter_up == 1.

Aggregation is left to PromQL, and enum-valued state is emitted as one 0/1 series per possible value so that alerting expressions stay simple equality matches.
The collectors also ship as an importable library in pkg/collector, which takes a COSI state and returns a prometheus.Collector.

Contributors

  • Utku Ozdemir

Changes

4 commits

  • efcaeef release(v0.1.0): prepare release
  • e4ff7cd feat: implement the exporter
  • 4f97108 chore: bootstrap the project
  • 46394b1 chore: add README

Dependency Changes

This release has no dependency changes