# Uptime Monitoring — iec-pulse

## Automatic on Every Deploy

Every `tawa deploy` automatically registers an uptime monitor in CheckCle via iec-pulse. No configuration needed — the builder reads your service URL and health endpoint from catalog-info.yaml.

## What Gets Monitored

| Check | Interval | Target |
|-------|----------|--------|
| Health endpoint | 30s (prod) / 60s (sandbox) | `https://{service}.tawa.pro{healthEndpoint}` |
| Custom domains | 60s | Each domain from `tawa domain add` |

## Health Endpoint Requirement

Your service **must** expose a health endpoint that returns 2xx. The default path depends on your framework:

| Framework | Default | Override |
|-----------|---------|----------|
| express / fastify / hono | `/health` | `insureco.io/health-endpoint` annotation |
| nextjs | `/api/health` | `insureco.io/health-endpoint` annotation |

## Status & Dashboards

| URL | What |
|-----|------|
| `https://status.insureco.io` | Public status page |
| `https://checkcle.insureco.io` | Admin dashboard (response times, history, alerting) |
| `GET https://iec-pulse.tawa.pro/api/pulse/status` | JSON status API |

## Builder Integration

The builder saves a `pulseMonitorId` on your service record after registering the monitor. This is automatic — you never interact with it directly.

If `IEC_PULSE_URL` is not set on the builder, monitor registration is silently skipped. Deploys are never blocked by pulse failures.

## Adding Non-Tawa Monitors

For external services or legacy systems not deployed through `tawa deploy`, add monitors manually via the CheckCle UI at `https://checkcle.insureco.io`.
