hockeypuck-k8s docs: Integrations

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