← Back to Skills

Uptime Monitoring — iec-pulse

Every `tawa deploy` automatically registers an uptime monitor via iec-pulse. No configuration needed — the builder reads your service URL and health endpoint…

Ruletroubleshoot

About

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.

Skill Content

This is the raw markdown that gets installed as a Claude Code rule.

# 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

| 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 |

## "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 root | Keep a `CHANGELOG.md` (Keep-a-Changelog style — `##` headings + `-` bullets render cleanly). Best control. |
| **Fallback: your git commits** | Nothing. 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

| 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`.

Install

Copy the skill content and save it to:

~/.claude/rules/tawa-pulse.md
Download .md

Coming soon via CLI:

tawa chaac install tawa-pulse

Details

Format
Rule
Category
troubleshoot
Version
1.0.69119
Tokens
~893
Updated
2026-08-28
platformmonitoringuptimehealthpulseobservability