Integrations

db

Interface: pgsql

Supported charms: postgresql-k8s, PostgreSQL

Database integration is a required relation for the Discourse charm to supply structured data storage for Discourse.

Database integrate command:

juju integrate discourse-k8s postgresql-k8s

grafana-dashboard

Interface: grafana-dashboard

Supported charms: grafana-k8s

Grafana-dashboard relation enables quick dashboard access already tailored to fit the needs of operators to monitor the charm. The template for the Grafana dashboard for Discourse charm can be found at /src/grafana_dashboards/discourse.json. In Grafana UI, it can be found as “Discourse Operator” under the General section of the dashboard browser (/dashboards). Modifications to the dashboard can be made but will not be persisted upon restart/redeployment of the charm.

Grafana-Prometheus integrate command:

juju integrate grafana-k8s:grafana-source prometheus-k8s:grafana-source

Grafana-dashboard integrate command:

juju integrate discourse-k8s grafana-dashboard`

ingress

Interface: ingress

Supported charms: nginx-ingress-integrator, traefik

Ingress manages external http/https access to services in a kubernetes cluster. Note that the kubernetes cluster must already have an nginx ingress controller already deployed. Documentation to enable ingress in MicroK8s can be found in Add-on: Ingress.

Ingress integrate command:

juju integrate discourse-k8s nginx-ingress-integrator

metrics-endpoint

Supported charms: prometheus-k8s

Metrics-endpoint relation allows scraping the /metrics endpoint provided by Discourse. The metrics are exposed in the open metrics format and will only be scraped by Prometheus once the relation becomes active. For more information about the metrics exposed, refer to “How to monitor Discourse metrics using Prometheus”.

Metrics-endpoint integrate command:

juju integrate discourse-k8s prometheus-k8s

oauth

Interface: oauth

Supported charms: Hydra

OAuth relation allows Discourse to integrate with an OAuth provider for authentication and authorization. This enables users to log in to Discourse using their existing credentials from the provider. The easiest way to use the Hydra is to deploy Canonical Identity Platform.

OAuth integrate command:

juju integrate discourse-k8s hydra

redis

Interface: redis

Supported charms: redis-k8s

Discourse uses Redis to run background tasks (with Sidekiq) and keep the application fast and responsive. It enables real-time updates on the pages and helps in managing data efficiently. Redis also helps Discourse in balancing loads by managing rate limits, making it a crucial part of its system.

Redis integrate commands:

juju integrate discourse-k8s redis-k8s