]>
| description | Provisions and manages customer infrastructure (EC2, DNS, notifications) for Crimata |
| last change | Thu, 16 Jul 2026 20:16:00 +0000 (20:16 +0000) |
| URL | https://andrewgundersen.net/repos/crimata-infra |
Backend service that provisions and manages actual customer infrastructure for Crimata: spins up an EC2 instance, points DNS at it (Route 53), sends the customer a notification (via Resend), and can export their data to S3.
Exposes a small HTTP API (Go, chi router):
POST /instances — provision a new customer instance (called by crimata-website's Stripe webhook)GET /instances/:slug — look up an instanceDELETE /instances/:slug — tear one downprovision.sh is the bootstrap script that actually runs on the new EC2 instance — currently just installs nginx and a placeholder welcome page, a work in progress.
Needs Postgres, an AWS account (EC2 + Route53 + S3 permissions), and a Resend API key.
cp .env.example .env # fill in DATABASE_URL, AWS credentials, EC2/DNS/S3 config
go run ./cmd/server
There's also a terraform/ directory for provisioning the supporting AWS resources (VPC, security groups, etc.) this service depends on.
| 9 days ago | Andrew Gundersen | Add README main | commit | commitdiff | tree | snapshot (tar.gz zip tar.bz2) |
| 2026-03-02 | Andrew Gundersen | Update provision.sh to install crimata-agent and fix... | commit | commitdiff | tree | snapshot (tar.gz zip tar.bz2) |
| 2026-03-02 | Andrew Gundersen | Replace AWS SES with Resend for email delivery | commit | commitdiff | tree | snapshot (tar.gz zip tar.bz2) |
| 2026-02-27 | Andrew Gundersen | Refactor customer → instance package, add dock service... | commit | commitdiff | tree | snapshot (tar.gz zip tar.bz2) |
| 2026-02-25 | Andrew Gundersen | Switch to SSH provisioning, embed provision.sh, add... | commit | commitdiff | tree | snapshot (tar.gz zip tar.bz2) |
| 2026-02-22 | Andrew Gundersen | Initial commit | commit | commitdiff | tree | snapshot (tar.gz zip tar.bz2) |
| 9 days ago | main | shortlog | log | tree |