New to Kestra?
Use blueprints to kickstart your first workflows.
Audits Dex identity provider metrics to detect LDAP connector bind timeouts and authentication stalls, alerting IAM teams on Slack.
Automates continuous health and directory connectivity surveillance of Dex identity provider LDAP connectors across enterprise authentication planes. Interrogates Prometheus login telemetry to detect LDAP bind timeouts, connection pool saturation, and Active Directory domain controller authentication stalls before employee SSO logins fail.
flowchart TD
A[periodic_ldap_audit Schedule Trigger] --> B[scan_dex_ldap_metrics Python Script]
B --> C[evaluate_bind_threshold Flowable If]
C -- Bind Failures Exceeded --> D[notify_slack_iam_team Slack Webhook]
C -- LDAP Authentication Nominal --> E[log_nominal_ldap_state Core Log]
D --> F[emit_audit_manifest Debug Return]
E --> F
periodic_ldap_audit): Automated cron trigger executing regular surveillance sweeps across identity provider instances.scan_dex_ldap_metrics): Dockerized Python runtime querying Dex Prometheus metrics with connection timeout safeguards.evaluate_bind_threshold): Conditional branching logic separating single user password typos from systematic LDAP service blackouts.notify_slack_iam_team): Formatted Slack webhook message delivering actionable telemetry and remediation runbooks.emit_audit_manifest): Standardized JSON output recording exact run parameters for compliance and audit reporting.dex-config.yaml expire, breaking logins for the entire enterprise.| Name | Type | Default | Description |
|---|---|---|---|
dex_metrics_url |
STRING |
http://dex.auth.svc.cluster.local:5558/metrics |
Base HTTP URL exposing Prometheus metrics for the Dex identity provider service. |
ldap_connector_id |
STRING |
corp-active-directory |
Identifier of the configured Dex LDAP connector under active surveillance. |
max_failed_binds_threshold |
INT |
10 |
Maximum allowable failed LDAP bind attempts within the audit window before triggering alerts. |
lookback_minutes |
INT |
15 |
Time duration in minutes across which Dex LDAP connector authentication metrics are evaluated. |
alert_on_timeouts |
BOOL |
true |
Toggle whether Slack alerts are dispatched upon detecting elevated LDAP bind failures. |
{{ outputs.scan_dex_ldap_metrics.vars.failed_binds_count }}: Total number of failed LDAP bind and login attempts during the polling window.{{ outputs.scan_dex_ldap_metrics.vars.successful_logins_count }}: Cumulative count of successful user authentications processed by the connector.{{ outputs.scan_dex_ldap_metrics.vars.bind_failure_percent }}: Percentage of total login attempts that resulted in authentication failures.{{ outputs.scan_dex_ldap_metrics.vars.is_alerting }}: Boolean flag indicating whether observed failed binds breached tolerance limits.{{ outputs.scan_dex_ldap_metrics.vars.audit_timestamp }}: ISO-8601 UTC timestamp recording exact time of sentinel verification.SLACK_WEBHOOK_URL: Secret webhook URL for dispatching incident notifications to team Slack rooms.SLACK_WEBHOOK_URL secret within the target Kestra namespace.company.security namespace.dex_metrics_url with your internal Dex service DNS name.periodic_ldap_audit trigger to establish automated continuous surveillance.ldap_connector_id input exactly matches the id string declared in Dex's connectors YAML block.telemetry.http: 0.0.0.0:5558 in config.yaml to expose metrics.host aligns with TLS expectations (port 389 for StartTLS, port 636 for direct LDAPS).ldapsearch.