An uptime monitoring service that is easy and cheap to run at scale. Create endpoint checks for uptime, latency, and status code. Supports OpsGenie, for alerts when there are two or more consecutive failures.
# Install dependencies
nub install
# Run the CLI
nub run cli --helpThis repository requires Node.js 24.15.0 and Nub 0.4.11.
# Deploy infrastructure
nub run cli -- --fqdn uptime.example.com
# Deploy to production
nub run cli -- --fqdn uptime.example.com --stage prod
# Destroy infrastructure
nub run cli -- --fqdn uptime.example.com --phase destroyFor a holistic dev experience, it is best to run dev from the root of the repo.
First, copy the ./packages/infra/.dev.vars.example file to ./packages/infra/.dev.vars.
Then, run the following command to confirm you're using the correct CF account: and run to confirm you're using the correct CF account:
nub exec wrangler whoamiRun the migrations and (optionally) seed the database:
# this is a convenience script that runs db:touch, db:generate, db:migrate, and db:seed
nub run db:setupThis repo uses multiple workers, each split into their own workspace. To run everything together:
# Start both the API (monitor workers) and the TanStack Start app
nub run devIf you need to run components separately:
# Run just the API (includes both executor and trigger workers)
nub run dev:api
# Run just the TanStack Start app
nub run dev:app
# Run the API executor worker
nub run --filter '@solstatus/api' dev:api-exec
# Run the API trigger worker
nub run --filter '@solstatus/api' dev:api-triggerProduction workers and the dashboard deploy through Alchemy, not Wrangler:
nub run cli -- --fqdn uptime.example.com --stage prodTo deploy components separately:
# Deploy just the TanStack Start app
nub run deploy:prod:app
# Deploy just the API workers
nub run deploy:prod:apiWrangler stays for local D1 (nub run db:setup) and local API workers (nub run dev:api). Those commands share D1 state under packages/infra/.wrangler/state.
Update dependencies
Dependabot automatically creates pull requests for dependency updates weekly. For manual updates:
nub exec ncu -t minor -u
nub installSee the infra README for more details.
This repository uses Dependabot to keep dependencies up to date:
- npm dependencies are checked weekly (grouped as minor and patch updates)
- GitHub Actions are checked monthly
- PR limits are set to avoid overwhelming with dependency updates
Tegami versions and publishes the npm packages after Validate succeeds on master:
solstatus- Main CLI package@solstatus/common- Shared utilities and schemas@solstatus/api- API workers@solstatus/app- Web application@solstatus/infra- Infrastructure tools
See docs/releasing.md. To enable npm publishing:
- Create an npm access token at https://www.npmjs.com/
- Add it as a GitHub secret named
NPM_TOKEN - Enable Allow GitHub Actions to create and approve pull requests
- Create the
release:nonelabel for toolchain-only pull requests
