Skip to content

canonical/karma-k8s-operator

Repository files navigation

Karma Operator (k8s)

CharmHub Badge Release Discourse Status

Description

Alertmanager UI is useful for browsing alerts and managing silences, but it's lacking as a dashboard tool - karma aims to fill this gap. This charm deploys and manages Karma in a Kubernetes environment.

See the Karma source for the details on Karma itself.

Usage

To use Karma, you need to have at least one Alertmanager instance that you wish to view. These need to be either related to Karma, or you can use the karma-alertmanager-proxy charm configured to point to a remote Alertmanager instance, and relate that to karma. For more information see INTEGRATING.

You also need to have a working Kubernetes environment, and have bootstrapped a Juju controller of version 2.9+, with a model ready to use with the Kubernetes cloud.

Example deployment:

juju deploy karma-k8s

Then you could relate to alertmanager:

juju deploy alertmanager-k8s
juju relate alertmanager-k8s karma-k8s

or to a remote alertmanager via an alertmanager proxy:

juju deploy karma-alertmanager-proxy-k8s --config url="http://somewhere:9093"
juju relate karma-alertmanager-proxy-k8s karma-k8s

You could add an ingress for the karma web interface (see INTEGRATING for more information):

# ingress for karma web interface
juju deploy nginx-ingress-integrator
juju relate karma-k8s nginx-ingress-integrator

Scale Out Usage

Karma is an alertmanager client and therefore is not designed to operate as an HA cluster internally. For this reason there is no difference in availability between deploying multiple karma apps vs multiple karma units, although the latter would be easier to configure.

To add additional Karma units for high availability,

juju add-unit karma-k8s

Dashboard

To access Karma, use a web browser pointing to http://service-address:8080.

Relations

Currently, supported relations are:

OCI Images

This charm can be used with the following image:

  • ghcr.io/prymitive/karma:v0.111