Git Product home page Git Product logo

karma-k8s-operator's Introduction

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

karma-k8s-operator's People

Contributors

dstathis avatar ibraaoad avatar lucabello avatar mmkay avatar observability-noctua-bot avatar rbarry82 avatar sed-i avatar simskij avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

sed-i mmanciop

karma-k8s-operator's Issues

chore: update libraries to new major versions

This issue was created automatically because a new major version was detected for a charm library.

You should update the following libraries:

  • update charms.catalogue_k8s.v0.catalogue to v1

Trying to silence an alert results in CORS error

Bug Description

Posting the silence towards alertmanager results in CORS error on the browser:

image

We need to be able to add to the charm config:

  cors:
    allowedOrigins: list of strings

To Reproduce

juju deploy karma-k8s
try to silence an alert on alertmanager

Environment

edge

Relevant log output

N/A

Additional context

No response

`failed to verify` Let's Encrypt certificate

We've added a Let's Encrypt TLS cert to an internal COS deployment, but we're getting a Get "https://$hostname/$model-alertmanager/api/v2/status": tls: failed to verify certificate: x509: certificate signed by unknown authority message from https://$hostname/$model-karma/?q=. It looks like the OCI image used by karma might be missing the ca-certificates package.

Add ingress integration

Bug Description

We need an option to route karma dashboard trough traefik like prometheus and grafana.

To Reproduce

N/A

Environment

latest/edge

Relevant log output

N/A

Additional context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.