Crates.io | kubert-prometheus-tokio |
lib.rs | kubert-prometheus-tokio |
version | 0.1.0 |
source | src |
created_at | 2023-12-11 03:30:16.805454 |
updated_at | 2023-12-11 03:30:16.805454 |
description | A prometheus-client tokio runtime metrics collector |
homepage | |
repository | https://github.com/olix0r/kubert |
max_upload_size | |
id | 1064712 |
size | 11,264 |
Rust Kubernetes runtime helpers. Based on kube-rs
.
/ˈkuː.bərt/
clap
command-line interface support;/ready
and /live
probe endpoints;prometheus-client
integration, with process and Tokio Runtime
metrics;SIGTERM
or SIGINT
signals;Runtime
type that ties it all together!kube-rs
?The kube
crate is great! And in fact, kubert
builds on kube
's
client and runtime modules. This crate, however, captures some of the repeated
patterns we've encountered building controllers for
Linkerd. It doesn't try to hide
kube
--though it does reduce boilerplate around initializing watches and caches
(reflectors); and it expects you to schedule work via the tokio
runtime.
This repository includes a simple example application that
demonstrates how to use a kubert::Runtime
.
Other examples include:
The kubert-prometheus-process
crate provides process metrics for
prometheus-client. It has no dependencies on kubert, and can be used
independently.
The kubert-prometheus-tokio
crate exposes Tokio runtime metrics for
prometheus-client. It also has no dependencies on kubert, and can be used
independently.
Note that tokio runtime metrics require RUSTFLAGS="--cfg tokio_unstable"
to be
set at compile-time.
This crate is still fairly experimental, though it's based on production code from Linkerd; and we plan to use it in Linkerd moving forward.