Relation endpoints

See Integrations.

grafana-dashboard

Interface: grafana_dashboard

Supported charms: grafana-k8s

The grafana-dashboard relation ships a pre-built Grafana dashboard for bingo so operators can monitor the charm without building one from scratch. Once integrated, the dashboard appears in Grafana’s dashboard browser (/dashboards). Edits made in the Grafana UI are not persisted across charm upgrades or when the charm is redeployed.

Example grafana-dashboard integrate command:

juju integrate bingo:grafana-dashboard grafana-k8s:grafana-dashboard

ingress

Interface: ingress

Supported charms: traefik-k8s, ingress-configurator

The ingress relation exposes bingo’s HTTP interface outside the Kubernetes cluster and provides the public URL that should be configured as base-url. This relation is limited to a single application. ingress-configurator can be used instead of traefik-k8s to route through HAProxy (haproxy-route) or Gateway API (gateway-route).

Example ingress integrate command:

juju integrate bingo:ingress traefik-k8s:ingress

To route through a shared HAProxy instance offered from another model instead, consume the offer, deploy ingress-configurator, and integrate bingoingress-configurator → the consumed offer:

juju consume <offer-url>
juju integrate bingo:ingress ingress-configurator:ingress
juju integrate ingress-configurator:haproxy-route <offer-name>:haproxy-route

logging

Interface: loki_push_api

Supported charms: loki-k8s

The logging relation forwards bingo’s application logs to Loki for centralized log aggregation and querying through Grafana or the Loki API.

Example logging integrate command:

juju integrate bingo:logging loki-k8s:logging

metrics-endpoint

Interface: prometheus_scrape

Supported charms: prometheus-k8s

The metrics-endpoint relation allows Prometheus to scrape the /metrics endpoint exposed by bingo, enabling dashboards and alerting on request rates, latencies, and other application metrics once the relation becomes active.

Example metrics-endpoint integrate command:

juju integrate bingo:metrics-endpoint prometheus-k8s:metrics-endpoint

oauth

Interface: oauth

Supported charms: hydra

The oauth relation lets bingo delegate authentication to an OpenID Connect provider so users can log in with their existing identity provider credentials. The simplest way to provide an OIDC provider is to deploy Hydra as part of the Canonical Identity Platform. This relation is optional and limited to a single application; see Configure OIDC login for the related configuration options.

Example oauth integrate command:

juju integrate bingo:oauth hydra:oauth

postgresql

Interface: postgresql_client

Supported charms: postgresql-k8s

The postgresql relation is required by bingo. bingo stores pastes and, when OIDC is enabled, session data in a PostgreSQL database. The bingo charm will not start until this relation is established.

Example postgresql integrate command:

juju integrate bingo:postgresql postgresql-k8s:database

tracing

Interface: tracing

Supported charms: tempo-coordinator-k8s

The tracing relation sends distributed traces from bingo to Tempo, helping diagnose latency and errors across requests. This relation is optional and limited to a single application.

Example tracing integrate command:

juju integrate bingo:tracing tempo-coordinator-k8s:tracing