Kennel
Kennel is the deployment platform for ScottyLabs. When you push code to a repository, kennel builds it with Nix, deploys it, and routes traffic to it.
What it does
- Builds your project with Nix when you push to any branch
- Deploys services as systemd units and static sites via Caddy
- Provisions per-deployment databases (PostgreSQL), caches (Valkey), and object storage (Garage)
- Resolves secrets from OpenBao via secretspec
- Generates HTTPS URLs for every deployment, including PR previews
- Tears down deployments and their resources when branches are deleted or PRs are closed
How it works
Your project’s devenv.nix declares what it needs to run: processes, databases, secrets, static sites. Kennel evaluates this configuration, builds the Nix packages, and deploys everything with isolated resources per branch.
Every deployment gets a URL at {project}-{branch}.scottylabs.net. Production deployments can also have custom domains.
Getting started
See the deploying a project guide.