discourse-k8s docs: Integrations

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 Addon: Ingress.

Ingress integrate command:

juju integrate discourse-k8s nginx-ingress-integrator

metrics-endpoint

Interface: prometheus_scrape

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

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