Discourse
- Canonical IS DevOps
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/stable | 173 | 26 Sep 2024 | |
latest/edge | 179 | 05 Dec 2024 |
juju deploy discourse-k8s
Deploy Kubernetes operators easily with Juju, the Universal Operator Lifecycle Manager. Need a Kubernetes cluster? Install MicroK8s to create a full CNCF-certified Kubernetes system in under 60 seconds.
Platform:
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