Decisions
Architecture decision records, numbered in order. A changed decision gets a new record that supersedes the old one; old records are never rewritten.
| # | Decision | Status |
|---|---|---|
| 0001 | Apps and ops on two servers | accepted |
| 0002 | A small agent deploys apps | accepted |
| 0003 | VictoriaMetrics and VictoriaLogs | accepted |
| 0004 | Generic VPS bootstrap, optional Hetzner | accepted |
| 0005 | One pnpm monorepo: SvelteKit and Fastify | accepted |
| 0006 | Shared UI package with shadcn-svelte | accepted |
| 0007 | App state lives on the apps server; agent API | accepted |
| 0008 | Dashboard login with one admin password | accepted |
| 0009 | Multi-arch images on Docker Hub, built by CI | accepted |
| 0010 | Hetzner ARM servers, deploy user only, one first-boot template | accepted |
| 0011 | Spotcraft deploys itself with a manual GitHub workflow over SSH | accepted |
| 0012 | Hardening from the v0.1.0 audit | accepted |
| 0013 | One Semantic Version for the whole project | accepted |
| 0014 | The website is static and hosted on Spotcraft itself | accepted |