Uptime Monitoring — iec-pulse

Automatic on Every Deploy

Every tawa deploy automatically registers an uptime monitor via iec-pulse. No configuration needed — the builder reads your service URL and health endpoint from catalog-info.yaml, and attaches your org (from spec.owner) so the monitor is scoped to you.

Org Attribution

The builder includes your owning org slug in the registration payload (org, derived from spec.owner). iec-pulse stores it on the monitor so per-org status pages can show only your services. Older builders that don't send org still work — a missing org never overwrites a known one.

What Gets Monitored

CheckIntervalTarget
Health endpoint30s (prod) / 60s (sandbox)https://{service}.tawa.pro{healthEndpoint}
Custom domains60sEach 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:

FrameworkDefaultOverride
express / fastify / hono/healthinsureco.io/health-endpoint annotation
nextjs/api/healthinsureco.io/health-endpoint annotation

"What's New" — Deploy Changelog on Your Status Page

Every tawa deploy also publishes a changelog for your service. It appears on your status page under What's new — no wiring, no extra command. The source is picked automatically, so even a vibe-coder who never writes release notes gets one:

Source (in priority order)What you do
CHANGELOG.md in your repo rootKeep a CHANGELOG.md (Keep-a-Changelog style — ## headings + - bullets render cleanly). Best control.
Fallback: your git commitsNothing. The builder derives a summary from git log since your last deploy. Write decent commit subjects (feat: …, fix: …) and they become your changelog for free.

How it flows

tawa deploy
  └─ builder derives notes  (CHANGELOG.md → else git log since last deploy)
       └─ POST koko /api/plugins/{service}/changelog        (stored once per service, upserted)
            └─ iec-pulse status page reads it → renders "What's new"

Koko is the single store — iec-pulse reads it live at GET /api/plugins/{service}/changelog (public). Nothing is duplicated. If Koko is unreachable, the status page simply omits the section; deploys are never blocked.

Tips

  • Markdown is rendered as a safe subset (headings, bullet lists, inline `code`). Raw HTML is escaped.
  • Long changelogs are truncated on the page — the full history stays in your repo's CHANGELOG.md.
  • The panel shows the version (if your CHANGELOG.md/manifest carries one) and the deploy time.

Status & Dashboards

URLWhat
https://status.insureco.ioPublic status page
https://checkcle.insureco.ioAdmin dashboard (response times, history, alerting)
GET https://iec-pulse.tawa.pro/api/pulse/statusJSON 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.

Last updated: July 15, 2026