Ceph HealthTrigger

Ceph HealthTrigger

Certified

Trigger a flow when the Ceph cluster health becomes degraded

Polls GET /api/health/minimal on the configured interval and fires exactly once when the cluster status transitions from HEALTH_OK (or unknown) into HEALTH_WARN or HEALTH_ERR. The trigger does not fire again on subsequent polls while the cluster remains degraded, and arms itself again once the cluster recovers to HEALTH_OK.

yaml
type: io.kestra.plugin.ceph.cluster.HealthTrigger

Alert when the Ceph cluster health degrades

yaml
id: ceph_health_alert
namespace: company.ops

triggers:
  - id: cluster_degraded
    type: io.kestra.plugin.ceph.cluster.HealthTrigger
    host: "ceph-mgr.internal"
    username: "admin"
    password: "{{ secret('CEPH_DASHBOARD_PASSWORD') }}"
    interval: PT5M

tasks:
  - id: alert
    type: io.kestra.plugin.core.log.Log
    message: "Ceph cluster health degraded: {{ trigger.status }}"
Properties

Ceph Dashboard host

Hostname or IP address of the Ceph Manager Dashboard. Must be reachable from the Kestra worker.

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

DefaultPT5M
Formatduration

Interval between polling.

The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S. See ISO_8601 Durations for more information of available interval values.

Password

Password for the Ceph Dashboard account. Never logged. Required unless token is set; ignored otherwise.

Default8443

Ceph Dashboard port

TCP port of the Ceph Manager Dashboard REST API. Defaults to 8443.

Defaultfalse

Skip TLS certificate verification

When true, disables TLS certificate verification. Useful when the Ceph Manager Dashboard uses a self-signed certificate, which is the default on most Ceph deployments. Defaults to false (secure): enable it explicitly and only for trusted networks.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

Pre-obtained JWT

A JWT obtained from POST /api/auth, used directly instead of username/password. It expires (Ceph default 8h TTL) and is NOT auto-renewed: since this trigger polls indefinitely, do not use token here, use username/password instead so the session is re-authenticated on every poll.

Username

Ceph Dashboard account used to obtain a session token from POST /api/auth. Required unless token is set.

Defaulttrue

A condition that determines whether the trigger should run.

A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.

Checks

Raw per-check details as returned by the Ceph Dashboard API: a list of check objects.

Cluster status

Overall Ceph cluster status: HEALTH_OK, HEALTH_WARN, or HEALTH_ERR.

SubTypestring

Summary

Human-readable messages derived from each active health check.