Add README
This commit is contained in:
parent
b906e3225d
commit
63a9d67a9d
1 changed files with 24 additions and 0 deletions
24
README.md
Normal file
24
README.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# 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.
|
||||
|
||||
## What it does
|
||||
|
||||
Exposes a small HTTP API (Go, [chi](https://github.com/go-chi/chi) router):
|
||||
|
||||
- `POST /instances` — provision a new customer instance (called by `crimata-website`'s Stripe webhook)
|
||||
- `GET /instances/:slug` — look up an instance
|
||||
- `DELETE /instances/:slug` — tear one down
|
||||
|
||||
`provision.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.
|
||||
|
||||
## Running it
|
||||
|
||||
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.
|
||||
Loading…
Reference in a new issue