Integrations
See Integrations.
database
Interface: postgresql_client
Supported charms: Charmed PostgreSQL, Charmed PostgreSQL-K8s
The database endpoint can be integrated with PostgreSQL based charms, providing long term storage for Hockeypuck.
The database relation connects hockeypuck-k8s with charms that support the postgresql_client
interface on port 5432
in the database side.
Example database integrate command:
juju integrate hockeypuck-k8s postgresql-k8s
grafana-dashboard
Interface: grafana-dashboard
Supported charms: grafana-k8s
Grafana-dashboard is a part of the COS relation to enhance observability.
The relation enables quick dashboard access already tailored to fit the needs of
operators to monitor the charm. The template for the Grafana dashboard for the
Hockeypuck charm can be found at /src/cos/grafana_dashboards/hockeypuck.json
.
In the Grafana UI, it can be found as “Hockeypuck metrics” under the General section of the
dashboard browser (/dashboards
). Modifications to the dashboard can be made but will not be
persisted upon restart or redeployment of the charm.
The Hockeypuck charm satisfies the grafana_dashboard
interface by providing the
pre-made dashboard template to the Grafana relation data bag under the “dashboards” key.
Requires Prometheus datasource to be already integrated with Grafana.
Example Grafana-Prometheus integrate command:
juju integrate grafana-k8s:grafana-source prometheus-k8s:grafana-source
Example Grafana-dashboard integrate command:
juju integrate hockeypuck-k8s grafana-dashboard
ingress
Interface: ingress
Supported charms: nginx-ingress-integrator, traefik-k8s
Ingress manages external HTTP/HTTPS access to services in a Kubernetes cluster. Note that the Kubernetes cluster must already have an nginx ingress controller deployed. Documentation to enable ingress in MicroK8s can be found here.
Example ingress integrate command:
juju integrate hockeypuck-k8s nginx-ingress-integrator
logging
Interface: loki_push_api
Supported charms: loki-k8s
The logging relation is a part of the COS relation to enhance logging observability.
Logging relation through the loki_push_api
interface installs and runs promtail which ships the
contents of the Hockeypuck kubernetes pod logs to Loki.
This can then be queried through the Loki API or easily visualized through Grafana. Learn more about COS
here.
Example logging-endpoint integrate command:
juju integrate hockeypuck-k8s loki-k8s
metrics-endpoint
Interface: prometheus_scrape
Supported charms: prometheus-k8s
The metrics-endpoint relation allows scraping the /metrics
endpoint provided by Hockeypuck
on port 9626, which provides Hockeypuck metrics.
Example metrics-endpoint integrate command:
juju integrate hockeypuck-k8s prometheus-k8s
traefik-route
Interface: traefik_route
Supported charms: traefik-k8s
The traefik-route relation provides low-level access to Traefik configuration. Hockeypuck requires this interface to expose the reconciliation port (11370) to peer with other keyservers.
Example traefik-route integrate command:
juju integrate hockeypuck-k8s traefik-k8s:traefik-route