Skip to content

Instantly share code, notes, and snippets.

@cornfeedhobo
Created December 27, 2023 21:26
Show Gist options
  • Save cornfeedhobo/c6992dec48fc95be9996cb4ec024d2e6 to your computer and use it in GitHub Desktop.
Save cornfeedhobo/c6992dec48fc95be9996cb4ec024d2e6 to your computer and use it in GitHub Desktop.

L.G.T.M. Helm Chart Issue

This document proposes new standards for the L.G.T.M. observability stack helm charts.

prometheus-community helm charts review

prometheus-community has a lot of charts, but all the multi-charts center around the operator.

I propose getting them involved in this effort and decompose the existing charts.

The following sections are named as they would be in the helm repository.

prometheus-community/kube-common

A proposed chart for installing the most common charts used for kubernetes clusters.

prometheus-community/kube-stack

  • prometheus-community/prometheus
  • prometheus-community/kube-common
  • (optional) prometheus-community/alertmanager

prometheus-community/kube-operator-stack

grafana helm charts review

Notes:

  • optional means the feature can be toggled with an enabled flag
  • default means the feature is optional and enabled by default
  • Since all these charts depend on prometheus in one way or another, it's expected that it will be installed directly instead of as a dependency.

loki

Purpose: Stores and serves log data

Dependencies:

  • (default) grafana/loki-canary
  • (default) prometheus-community/promtail
  • (optional) fluentd CRD
  • (optional) minio standalone
  • (optional) minio CRD

Notes:

loki-canary

Purpose: Ensure your loki cluster is ingesting logs

promtail

Purpose: Ships logs

grafana

Purpose: UI for all your metrics

Dependencies:

  • (optional) minio standalone
  • (optional) minio CRD
  • (optional) postgres

Notes:

  • Should support creating Ingress or HTTPRoute
  • Try to support arbitrary plugins

tempo

Purpose: Distributed Tracing

Dependencies:

  • (optional) minio standalone
  • (optional) minio CRD

tempo-vulture

Purpose: tempo canary service

mimir

Purpose: Long-term storage for Prometheus

Dependencies:

  • (optional) minio standalone
  • (optional) minio CRD

Grafana OnCall

Purpose: on-call management system

Notes:

  • This requires multiple data stores, and is not worth adding to kube-stack until some community members report stable deployments with their associated configurations.

grafana/kube-stack

Purpose: An opinionated deployment of the L.G.T.M. stack.

Dependencies:

  • grafana/loki
  • grafana/grafana
  • grafana/tempo
  • grafana/mimir
  • (default) prometheus-community/kube-stack
  • (optional) prometheus-community/kube-operator-stack
  • (default) grafana-dashboards-kubernetes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment