!GitHub
!GitHub release (with filter)
!GitHub contributors
!GitHub commits since latest release (by SemVer including pre-releases)
SolStatus
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.
Quick Start
# Install dependencies
nub install
Run the CLI
nub run cli --help
This repository requires Node.js 24.15.0 and Nub 0.9.6.
Common Commands
# 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 destroy
Local Dev
For a holistic dev experience, it is best to run dev from the root of the repo.
Init
First, copy the ./packages/infra/.dev.vars.example file to ./packages/infra/.dev.vars.
Then confirm the Cloudflare account:
nub exec wrangler whoami
Create the local database, generate migrations, apply them, and seed:
# db:setup runs db:create, db:generate, db:migrate, and db:seed
nub run db:setup
Dev
This 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 dev
If 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-trigger
Deployment
Production workers and the dashboard deploy through Alchemy, not Wrangler:
nub run cli -- --fqdn uptime.example.com --stage prod
To deploy components separately:
# Deploy just the TanStack Start app
nub run deploy:prod:app
Deploy just the API workers
nub run deploy:prod:api
Wrangler 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.
Maintenance
Update dependenciesDependabot automatically creates pull requests for dependency updates weekly. For manual updates:
nub exec ncu -t minor -u
nub install
Database Management
See the infra README for more details.
CI/CD
Dependency Management
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
npm Publishing
Tegami versions and publishes the npm packages after Validate succeeds onmaster:
solstatus- Main CLI package@solstatus/common- Shared utilities and schemas@solstatus/api- API workers@solstatus/app- Web application@solstatus/infra- Infrastructure tools
- 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